我有这样的网址
http://localhost/MyProjects/client-contacts/?client=2
在php正则表达式中,我想从网址获取id。在上面的网址中,ID为2.那么有人可以告诉我如何从网址获取ID吗?任何帮助和建议都会非常明显。感谢
答案 0 :(得分:2)
不要使用正则表达式。
您可以组合使用parse_str()
和parse_url()
:
$url = 'http://localhost/MyProjects/client-contacts/?client=2';
parse_str(parse_url($url, PHP_URL_QUERY), $arr);
echo $arr['client'];
答案 1 :(得分:1)
好吧,使用这个正则表达式:
(\d)$
如果它始终是最后一个,或使用?client=(\d)
。在这两种情况下,第1组都将包含您想要的ID。
答案 2 :(得分:0)
使用以下正则表达式匹配client=
,
client=\K\d+
OR
http:\/\/.*?=\K\d+
OR
\d+$
将适用于上述输入。
答案 3 :(得分:0)
答案 4 :(得分:0)
试试这个
$url = 'http://localhost/MyProjects/client-contacts/?client=2';
preg_match('/client=([a-z0-9]+)$/i', $url, $id);
echo $id[1];
exit;
答案 5 :(得分:0)
试试这个
$url = 'http://localhost/MyProjects/client-contacts/?client=2';
preg_match('/client=([a-z0-9]+)$/i', $url, $mc);
echo $mc[1]; // here u get id as 2
答案 6 :(得分:0)
另一种方法可能是:
$url = 'http://www.example.com/MyProjects/client-contacts/?client=2';
$url_parts = parse_url($url);
parse_str($url_parts['query'],$output);
输出给定网址中的所有参数:
数组(大小= 1) 'client'=>字符串'2'(长度= 1)
所以 - > $output['client']
答案 7 :(得分:0)
另一种方法可能是......
$ var =“http://localhost.com/MyProjects/client-contacts/?client=2”;
$ id = explode(“=”,$ var);
echo $ id [1];