假设我在网页上有以下URL,我如何利用explode()
函数只给我ID,而不给ID后面的其余URL?
file.php?id=12345&foo=bar
我可以得到ID,但总有下面的"&foo=bar
"。
谢谢。
如果需要处理有效的URL,可以使用
parse_url
parse_url文档
将URL分解为不同的部分(SCHEMA、HOST、PORT、USER…(
然后,使用
parse_str
parse_str文档
在QUERY
部分,以便检索包含所有参数的数组。然后,你可以抓住你需要的东西。
parse_str($_SERVER['QUERY_STRING']);
echo $id;
parse_str
将从查询字符串变量中创建PHP变量。http://www.php.net/manual/en/function.parse-str.php
如果是完整的URL,可以使用parse_url()
来获取查询字符串部分。
如果它只是一个片段,您可以使用explode()
来获取它,然后使用parse_str()
:
list($path, $qs) = explode('?', $url, 2);
parse_str($qs, $args);
echo $args['id'];
2
告诉explode()
将字符串分成最多2个部分(在这种情况下,在?
之前和之后(。