尝试使用正则表达式获取 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_url
和 parse_str
。
为了满足你的好奇心,你可以使用类似的东西:
preg_match_all('/code=(.*?)$/', $theUrl, $match);
echo $match[1][0];
我试图使用正则表达式来获取以下 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_url
和 parse_str
。
为了满足你的好奇心,你可以使用类似的东西:
preg_match_all('/code=(.*?)$/', $theUrl, $match);
echo $match[1][0];