Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP提取URL的最后一部分_Php_Url - Fatal编程技术网

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

使用PHP提取URL的最后一部分,php,url,Php,Url,如何使用PHP提取URL的最后一部分 下面是示例URL http://www.example.com/123 我想要以下输出 123 如何在php中执行此操作?尝试substr() 或parse_url() 您可以使用此代码实现您想要的: <?php $uri = explode( '?', $_SERVER['REQUEST_URI'] ); $uri = $uri[0]; $part_uri = explode( "/", $uri); print_r(

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

下面是示例URL

http://www.example.com/123

我想要以下输出

123

如何在php中执行此操作?

尝试
substr()

parse_url()


您可以使用此代码实现您想要的:

<?php
    $uri = explode( '?', $_SERVER['REQUEST_URI'] );
    $uri = $uri[0];
    $part_uri = explode( "/", $uri);
    print_r( $uri );
    print_r( $part_uri );
?>
因此,要获得您的“123”,您可以使用$part_uri[1]

您可以尝试:

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

这段代码适合我

 $id = substr($url, strrpos( $url, '/' )+1);
strrpos
获取斜杠最后一次出现的位置
substr
返回该位置之后的所有内容。

尝试:

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

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

  • 使用
    parse_url
    并获取路径
  • 找到
    /
    字符的位置,然后根据该位置提取字符串
  • 使用正则表达式(
    /\d+$/
  • 修剪末端的数字(
    rtrim('url,'0123456789')
    ),比较长度,如果不相同,计算差值,然后提取数字
  • 使用一个简单的循环,可以向后迭代字符串,检查字符是否为数字。如果是,则将其前置为字符串,否则停止循环
  • 我可能会找到其他方法来做,但我认为这应该很好。如果你想不出来,那是因为缺乏想象力

    end(explode('/', $url))
    
     $id = substr($url, strrpos( $url, '/' )+1);
    
    $url = "http://www.example.com/123";
    echo str_replace('/','', parse_url($url, PHP_URL_PATH));