从url获取id的php正则表达式

从url获取id的php正则表达式,php,regex,Php,Regex,我有一个像这样的url http://localhost/MyProjects/client-contacts/?client=2 $url = 'http://localhost/MyProjects/client-contacts/?client=2'; preg_match('/client=([a-z0-9]+)$/i', $url, $id); echo $id[1]; exit; 在php正则表达式中,我想从url获取id。在上面的url中,id是2。有人能告诉我如何从url获取

我有一个像这样的url

http://localhost/MyProjects/client-contacts/?client=2
$url = 'http://localhost/MyProjects/client-contacts/?client=2';
preg_match('/client=([a-z0-9]+)$/i', $url, $id);
echo $id[1];
exit;

在php正则表达式中,我想从url获取id。在上面的url中,id是2。有人能告诉我如何从url获取id吗?任何帮助和建议都是非常值得的。谢谢

使用下面的正则表达式来匹配在客户机=之后出现的数字

client=\K\d+


\d+$
将用于上述输入。

好的,使用此正则表达式:

(\d)$
如果总是最后一个,或使用
?client=(\d)
。在这两种情况下,组1将包含您想要的id

.*\/.*?(\d+)$
试试这个。抓取捕获。参见演示


不要为此使用正则表达式

您可以结合使用和:

$url = 'http://localhost/MyProjects/client-contacts/?client=2';
parse_str(parse_url($url, PHP_URL_QUERY), $arr);
echo $arr['client'];
像这样试试

http://localhost/MyProjects/client-contacts/?client=2
$url = 'http://localhost/MyProjects/client-contacts/?client=2';
preg_match('/client=([a-z0-9]+)$/i', $url, $id);
echo $id[1];
exit;
试试这个

$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

另一种方法可以是:

$url = 'http://www.example.com/MyProjects/client-contacts/?client=2';
$url_parts = parse_url($url);
parse_str($url_parts['query'],$output);
输出给定URL中的所有参数:

数组(大小=1) '客户端'=>字符串'2'(长度=1)


因此->
$output['client']
另一种方法可能是…

$var=”“
$id=分解(“=”,$var)

echo$id[1]

\d+$
适用于上述情况。对于parse_url而不是regex,一个示例不算作spec..1。