使用PHP提取URL的最后部分

时间:2014-10-02 11:20:59

标签: php url

如何使用PHP提取URL的最后一部分。

以下是示例网址

  

http://www.example.com/123

我想要关注输出

  

123

我怎么能在php中做到这一点?

6 个答案:

答案 0 :(得分:4)

有很多方法可以解决这个问题。

  1. 使用parse_url并获取路径
  2. 找到/字符的位置,然后根据
  3. 提取字符串
  4. 使用正则表达式(/\d+$/
  5. 修剪数字(rtrim($url, '0123456789')),比较长度,如果不相同,则计算差异,然后提取数字。
  6. 使用简单循环,您可以向后迭代字符串,检查字符是否为数字。如果它们然后将它们添加到字符串中,否则停止循环。
  7. 我可能会找到其他方法来做到这一点,但我认为这应该做得很好。如果你无法弄明白,那是因为缺乏想象力。

答案 1 :(得分:2)

这段代码对我有用

 $id = substr($url, strrpos( $url, '/' )+1);

strrpos获取斜杠最后一次出现的位置; substr返回该位置后的所有内容。

答案 2 :(得分:2)

尝试:

$url = "http://www.example.com/123";
echo str_replace('/','', parse_url($url, PHP_URL_PATH));

答案 3 :(得分:1)

您可以使用此代码来实现您的目标:

<?php
    $uri = explode( '?', $_SERVER['REQUEST_URI'] );
    $uri = $uri[0];
    $part_uri = explode( "/", $uri);
    print_r( $uri );
    print_r( $part_uri );
?>

$ part_uri将成为当前网站路径的数组。 例如,http://adomain.com/manual/test会导致:

Array ( [0] => [1] => manual [2] => test ) 

所以要获得“123”,你会使用$ part_uri [1]

答案 4 :(得分:1)

您可以尝试:

end(explode('/', $url))

答案 5 :(得分:0)

尝试substr()

echo substr('http://www.example.com/123', -3);

parse_url()

$p =parse_url('http://www.example.com/123');
echo str_replace('/', '', $p['path']);