Извлечь последнюю часть URL
Нужна последняя часть URL
http://example.com/ тогда последняя часть - ничто, если это http://example.com/i тогда последняя часть - это я, если это http://example.com/i/am/file.php то последняя часть является file.php
не уверен, что я использую регулярное выражение или что
5 ответов
Это простой пример:
<?php
$url = "http://example.com/i/am/file.php";
$keys = parse_url($url); // parse the url
$path = explode("/", $keys['path']); // splitting the path
$last = end($path); // get the value of the last element
?>
Я надеюсь, что это поможет вам;)
Для тех из вас, кто использует CMS, такие как WordPress или Magento, которые добавляют косую черту, есть простое дополнение к решению Vasil:
<?php
$url = "http://example.com/i/am/file.php";
$keys = parse_url($url); // parse the url
$path = explode("/", $keys['path']); // splitting the path
$last = end($path); // get the value of the last element
$last = prev($path); // get the next to last element
?>
Вы даже можете просто использовать простой запрос URI, например так:
$request_path = $_SERVER['REQUEST_URI'];
$path = explode("/", $request_path); // splitting the path
$last = end($path);
$last = prev($path);
$url = 'http://example.com/i/am/file.php';
$url = rtrim($url, '/');
preg_match('/([^\/]*)$/', $url, $match);
var_dump($match);
Обратите внимание, что пример Василя не сработает, если по какой-то причине у вас будет косая черта, как, например, некоторые системы CMS поставят в конце (Magento, я смотрю на вас...)
Ну, это будет работать, но конец пути пуст. Что-то, о чем нужно знать.