php ltrim() удаляет только целые слова

Итак, у меня есть эта строка '/var/www/html/includes/default_includes.php'Я хочу, чтобы это было просто '/var/www/html/'

При использовании ltrim это превращается в '/var/www/htm'что я не хочу этого. Я знаю это, потому что ltrim удаляет отдельные символы, а не слова, но как я могу сделать только удалить 'includes/default_includes.php'

К сожалению, забыл сказать, что строка может быть '/home/user1/includes/www/includes/default_includes.php', который затем должен превратиться в '/home/user1/includes/www/'

Я много искал, но не смог найти ответ на этот вопрос.

1 ответ

Решение

Это очень сильно зависит от того, что вы пытаетесь сделать.

<?php
$sString = '/var/www/html/includes/default_includes.php';
// I could guess where you are getting this from, but that would be daft

$aParts = explode('/', $sString);

$aParts = array_diff($aParts, array('includes', 'default_includes.php'));

$sString = implode('/', $aParts);

Или, как я думаю, вы просто пытаетесь получить корневой каталог

<?php
$sString = '/var/www/html/includes/default_includes.php';
// I could guess where you are getting this from, but that would be daft

$aParts = explode('/', $sString);

$aParts = array_slice($aParts, 0, -2);

$sString = implode('/', $aParts);
Другие вопросы по тегам