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