Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:获取带有preg_匹配的url变量?_Php_Regex - Fatal编程技术网

PHP:获取带有preg_匹配的url变量?

PHP:获取带有preg_匹配的url变量?,php,regex,Php,Regex,或 这是一根绳子。我想从中得到$id的值 正确的模式是什么?@PhpMyCoder的解决方案非常完美。但是如果您确实需要使用preg_match(尽管在这种情况下完全没有必要) 你不需要正则表达式(而且你不应该在将来直接跳到正则表达式,除非你有充分的理由) 与PHP\u URL\u QUERY一起使用,检索查询字符串。那就把这个和这个搭配起来 您是否有id参数中包含的信息?所有数字?当您可以使用$params=parse\u str(parse\u url($url,PHP\u url\u QU

这是一根绳子。我想从中得到
$id
的值


正确的模式是什么?

@PhpMyCoder的解决方案非常完美。但是如果您确实需要使用preg_match(尽管在这种情况下完全没有必要)

你不需要正则表达式(而且你不应该在将来直接跳到正则表达式,除非你有充分的理由)

PHP\u URL\u QUERY
一起使用,检索查询字符串。那就把这个和这个搭配起来


您是否有id参数中包含的信息?所有数字?当您可以使用
$params=parse\u str(parse\u url($url,PHP\u url\u QUERY))
时,为什么要使用preg\u match?您的解决方案是否只需要使用preg_match?这样,您就可以检查
$params['id']
的值了?如果您确实想知道如何使用regex获取id的值,作为练习,它将有助于告诉我们您到目前为止尝试了什么以及您遇到了什么问题。这正是我所想的。刚刚刷新并看到您的答案+1。实际上我没有理由,这只是为了学习,我想我犯了一个错误,没有提到它。@user1091856在某些情况下,它是合适的,但一般来说,您应该首先寻找一种内部(PHP提供的)方法,然后看看是否可以通过字符串操作实现(可能使用
explode()
),然后尝试正则表达式。同意。正则表达式几乎可以做任何事情,但它们通常以一种笨拙而复杂的方式来做。要确保正则表达式不会在意外输入时中断,几乎总是比看起来更难。谢谢你,非常好的兄弟。+1感谢你满足了我的自我:P并回答了我的要求问题表明
id
不一定是数字。编辑答案以涵盖字母数字查询。谢谢。我个人会将支票交给PhpMyCoder
http://www.example.com?id=05
http://www.example.com?id=05&name=johnny
$subject = "http://www.mysite.com?id=05&name=johnny";
$pattern = '/id=[0-9A-Za-z]*/'; //$pattern = '/id=[0-9]*/'; if it is only numeric.
preg_match($pattern, $subject, $matches);
print_r($matches);
$querystring = parse_url('http://www.mysite.com?id=05&name=johnny', PHP_URL_QUERY);
parse_str($querystring, $vars);

echo $var['id'];