Попробуйте это:
function getLastPathSegment($url) {
$path = parse_url($url, PHP_URL_PATH); // to get the path from a whole URL
$pathTrimmed = trim($path, '/'); // normalise with no leading or trailing slash
$pathTokens = explode('/', $pathTrimmed); // get segments delimited by a slash
if (substr($path, -1) !== '/') {
array_pop($pathTokens);
}
return end($pathTokens); // get the last segment
}
echo getLastPathSegment($_SERVER['REQUEST_URI']);
Я также протестировали его с несколькими URL-адресов из комментариев. Я должен буду предположить, что все пути заканчиваются косой чертой, потому что я не могу определить, является ли/bob каталогом или файлом. Предположим, что это файл, если он также имеет завершающую косую черту.
echo getLastPathSegment('http://server.com/bla/wce/news.php'); // wce
echo getLastPathSegment('http://server.com/bla/wce/'); // wce
echo getLastPathSegment('http://server.com/bla/wce'); // bla
bahamut100, Если это правильный ответ, вы должны принять его, нажав на белую галочку рядом с ним. –
@ bahamut100, добро пожаловать. Хотя я бы пошел (и согласился) ответить alex. –
@Bart K. Все в порядке, твоя работа будет выполнена! +1 – alex