Как удалить последнюю часть url в PHP
$url = explode('/', $articleimage);
$articleurl = array_pop($url);
я использовал вышеуказанный метод для получения последней части URL-адреса.Его рабочие.Но я хочу удалить последнюю часть из URL-адреса и отобразить оставшуюся часть.Пожалуйста, помогите мне.Здесь я упоминаю пример URL.
http://www.brightknowledge.org/knowledge-bank/media/studying-media/student-media/image_rhcol_thin
8 ответов
попробуйте это:
$url = explode('/', 'http://www.brightknowledge.org/knowledge-bank/media/studying-media/student-media/image_rhcol_thin');
array_pop($url);
echo implode('/', $url);
нет необходимости использовать explode
, implode
и array_pop
.
просто использовать dirname($path)
. Это намного более эффективный и чистый код.
изменить это:
$articleurl = array_pop($url);
В:
$articleurl = end($url);
$articleurl будет удерживать Последний ключ массива.
пропустил ту часть, где вы хотите удалить значение, вы можете использовать функциональную клавишу (), чтобы получить ключ, а затем удалить значение с помощью этого ключа
$array_key = key($articleurl);
unset(url[$array_key])
довольно простое решение добавить в конце кода
$url = implode('/', $url);
echo $url;
обратите внимание, что array_pop использует ссылочный аргумент, передаваемый таким образом, массив будет изменен функция implode () делает противоположное функции explode и соединяет элементы массива первым аргументом (клеем) и возвращает строку.
используйте следующую манипуляцию строками из PHP
$url_without_last_part = substr($articleimage, 0, strrpos($articleimage, "/"));
похоже, это может быть то, что вы ищете. Вместо того чтобы взрываться и взрываться, вы можете использовать функции синтаксического анализа, которые предназначены для обработки именно такого рода манипуляций URL.
$url = parse_url( $url_string );
$result =
$url['scheme']
. "://"
. $url['host']
. pathinfo($url['path'], PATHINFO_DIRNAME );