У меня $url = "example.com/en/category/node/extra/";
и мне нужно удалить extra
из $url
, как я могу это сделать?
Разверните $ _SERVER ['SCRIPT_URL'] в массив, удалите пустые элементы и удалите последний элемент массива. Затем взорвите все это вместе с начальной и конечной косой чертой.
$urlArray = explode('/',$_SERVER['SCRIPT_URL']);
$urlArray = array_filter($urlArray);
// remove last element
array_pop($urlArray);
$urlString = '/'.implode('/',$urlArray).'/';
Не храните array_pop()
в качестве переменной, если вам не нужен последний элемент массива.
$url = "example.com/en/category/node/extra/"; echo basename($url); echo dirname($url);
возвращается extra example.com/en/category/node
Много способов,
взорвать поп последний, затем взорвать.
Использовать регулярное выражение для замены последней части
Я предпочитаю: append../сделать это как "example.com/en/category/node/extra/../", потому что это дешевле вычислений и его более эффективный
Если вы заинтересованы в одном из них и не знаете, как это сделать, оставьте мне комментарий.
попробуйте это как ваше регулярное выражение
[^/]+/$ //to get last and replace it with empty