在PHP中获取URL的一部分

时间:2011-08-08 16:44:27

标签: php parsing url

我只是想知道使用PHP从URL中提取“参数”的最佳方法是什么。

如果我收到了网址:

http://example.com/user/100

如何使用PHP获取用户ID(100)?

4 个答案:

答案 0 :(得分:16)

要彻底,您需要从parse_url()开始。

$parts=parse_url("http://example.com/user/100");

这将为您提供一个包含少量键的数组。您正在寻找的是path

拆分/上的路径,然后选择最后一条路径。

$path_parts=explode('/', $parts['path']);

您的ID现在位于$path_parts[count($path_parts)-1]

答案 1 :(得分:6)

您可以使用parse_url(),即:

$parts = parse_url("http://x.com/user/100");
$path_parts= explode('/', $parts[path]);
$user = $path_parts[2];
echo $user; 
# 100

parse_url()

  

此函数解析URL并返回包含的关联数组   存在的URL的任何各种组件。价值   数组元素的数据不是URL解码的。

     

此功能不能验证给定的URL,只会破坏它   上面列出的部分。部分URL也是   接受,parse_url()尽力正确解析它们。

答案 2 :(得分:2)

$url = "http://example.com/user/100";
$parts = Explode('/', $url);
$id = $parts[count($parts) - 1];

答案 3 :(得分:1)

我知道这是一个老线程,但我认为以下是一个更好的答案: basename(dirname(__FILE__))