提取网址的最后一部分

时间:2011-05-12 20:17:24

标签: php

需要网址的最后一部分

http://example.com然后最后一部分什么都没有 如果它是http://example.com/i那么最后一部分是i 如果是http://example.com/i/am/file.php 然后最后一部分是file.php

不确定我是否使用正则表达式或

5 个答案:

答案 0 :(得分:19)

这是一个简单的例子:

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

我希望这可以帮到你;)

答案 1 :(得分:5)

有一个名为parse_url()的函数。

答案 2 :(得分:3)

对于那些使用像WordPress或Magento这样添加尾部斜线的CMS的人来说,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 
 ?> 

您甚至可以像这样使用简单的Request URI调用:

    $request_path = $_SERVER['REQUEST_URI'];
    $path = explode("/", $request_path); // splitting the path
    $last = end($path);
    $last = prev($path);

答案 3 :(得分:2)

$url = 'http://example.com/i/am/file.php';
$url = rtrim($url, '/');
preg_match('/([^\/]*)$/', $url, $match);
var_dump($match);

Test

答案 4 :(得分:0)

请注意,如果由于某种原因你有一个尾部斜杠,那么Vasil的例子将不起作用,例如一些CMS系统将放在最后(Magento,我在看着你......)

嗯,它会起作用,但路径的结尾是空的。需要注意的事情。