php regex从url获取id

时间:2014-09-29 06:40:10

标签: php regex

我有这样的网址

http://localhost/MyProjects/client-contacts/?client=2

在php正则表达式中,我想从网址获取id。在上面的网址中,ID为2.那么有人可以告诉我如何从网址获取ID吗?任何帮助和建议都会非常明显。感谢

8 个答案:

答案 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)

.*\/.*?(\d+)$

试试这个。抓住capture.see演示。

http://regex101.com/r/dN8sA5/3

答案 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];