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

Trying to get value of url parameter with a regular expression

我试图使用正则表达式来获取以下 url 的 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"

以上就是我想要的。但我仍然很好奇如果使用正则表达式将如何完成。有人可以 也许告诉我如何使用正则表达式提取代码参数的值?

选择 parse_urlparse_str。 为了满足你的好奇心,你可以使用类似的东西:

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