Извлечь последнюю часть 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 
 ?>

Я надеюсь, что это поможет вам;)

Есть функция parse_url ().

Для тех из вас, кто использует 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, я смотрю на вас...)

Ну, это будет работать, но конец пути пуст. Что-то, о чем нужно знать.

Другие вопросы по тегам