extract last part of a url

前端 未结 5 1735
小鲜肉
小鲜肉 2021-01-05 16:32

need the last part of the url

http://example.com then the last part is nothing if it is http://example.com/i then last part is i if it is http://example.com/i/am/fil

相关标签:
5条回答
  • 2021-01-05 17:13

    This is a simple example:

     <?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 
     ?>
    

    I hope this help you ;)

    0 讨论(0)
  • 2021-01-05 17:18

    There is a function called parse_url().

    0 讨论(0)
  • 2021-01-05 17:24

    For those of you using a CMS like WordPress or Magento that add a trailing slash, there is an easy addition to Vasil's solution:

    <?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 
     ?> 
    

    You can even just use a simple Request URI call like this:

        $request_path = $_SERVER['REQUEST_URI'];
        $path = explode("/", $request_path); // splitting the path
        $last = end($path);
        $last = prev($path);
    
    0 讨论(0)
  • 2021-01-05 17:26

    Note that Vasil's example won't work if for some reason you have a trailing slash, as for instance some CMS systems will put at the end (Magento, I'm looking at you...)

    Well, it'll work, but the end of the path is empty. Something to be aware of.

    0 讨论(0)
  • 2021-01-05 17:30
    $url = 'http://example.com/i/am/file.php';
    $url = rtrim($url, '/');
    preg_match('/([^\/]*)$/', $url, $match);
    var_dump($match);
    

    Test

    0 讨论(0)
提交回复
热议问题