PHP的正则表达式来从URL
获得ID我有这样PHP的正则表达式来从URL
http://localhost/MyProjects/client-contacts/?client=2
在PHP中的正则表达式我想从URL中的ID的URL。在上面的url中,id是2.那么有人能告诉我如何从url中获取id吗?任何帮助和建议都将非常可观。由于
使用正则表达式如下匹配,它存在只是后client=
数量,
client=\K\d+
OR
http:\/\/.*?=\K\d+
OR
\d+$
将针对上述输入工作。
好了,使用这个表达式:
(\d)$
如果它始终是最后一个,或使用?client=(\d)
。在这两种情况下,第1组将包含您想要的标识。
不要使用正则表达式这一点。
您可以结合使用parse_str()
和parse_url()
:
$url = 'http://localhost/MyProjects/client-contacts/?client=2';
parse_str(parse_url($url, PHP_URL_QUERY), $arr);
echo $arr['client'];
对于parse_url而不是正则表达式。 – Toto 2014-09-29 07:27:06
尝试这样
$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 =“http://localhost.com/MyProjects/client-contacts/?client=2”;
$ id = explode(“=”,$ var);
echo $ id [1];
'\ d + $'将适用于上述情况。 – 2014-09-29 06:42:49
一个示例不算作规范... – 2014-09-29 06:46:29