尝试使用正则表达式获取url参数的值

时间:2016-12-29 22:29:13

标签: php regex url-parameters

我试图使用正则表达式来获取以下网址的code参数的值:

"http:\/\/instagram.com\/?code=wz6kmXaZbrDCHU8OdOW0PrshbZF60Zz8Aji4ivaG"

不幸的是它没有成功,所以我最终做了以下事情:

$jsonRedirectUriWithAuthCode = "http:\/\/instagram.com\/?code=wz6kmXaZbrDCHU8OdOW0PrshbZF60Zz8Aji4ivaG";

print "jsonRedirectUriWithAuthCode= " . $jsonRedirectUriWithAuthCode;
print "\n";
$query = parse_url($jsonRedirectUriWithAuthCode, PHP_URL_QUERY);
print "query= " . $query;
print "\n";
parse_str($query, $params);
print "params['code']= ". $params['code'];
die() ;

哪个输出:

jsonRedirectUriWithAuthCode= "http:\/\/instagram.com\/?code=wz6kmXaZbrDCHU8OdOW0PrshbZF60Zz8Aji4ivaG"
query= code=wz6kmXaZbrDCHU8OdOW0PrshbZF60Zz8Aji4ivaG"
params['code']= wz6kmXaZbrDCHU8OdOW0PrshbZF60Zz8Aji4ivaG"

以上做了我想做的事。但我仍然很好奇如果使用正则表达式将如何做到这一点。有人可以 也许告诉我如何用正则表达式提取代码参数的值?

1 个答案:

答案 0 :(得分:1)

使用parse_urlparse_str。 为了满足您的好奇心,您可以使用以下内容:

preg_match_all('/code=(.*?)$/', $theUrl, $match); 
echo $match[1][0];