Php 编码URL如何获取查询字符串值
我觉得我在通过PHP获取ecoded URL中的查询字符串值时犯了一些基本错误 任何人都可以从下面的URL中找到用PHP获取查询字符串值的最佳方法Php 编码URL如何获取查询字符串值,php,Php,我觉得我在通过PHP获取ecoded URL中的查询字符串值时犯了一些基本错误 任何人都可以从下面的URL中找到用PHP获取查询字符串值的最佳方法 http%3A%2F%2Fwwww.mycompany.org%2FmyStatusListener%3FmtmId%3D%25MTMID%25%26statusCode%3D%25 - STATUSCODE%25%26statusDate%3D%25STATUSDATE%25%26mnc%3D%25MNC%25%26mcc%3D%25MNC%25
http%3A%2F%2Fwwww.mycompany.org%2FmyStatusListener%3FmtmId%3D%25MTMID%25%26statusCode%3D%25 -
STATUSCODE%25%26statusDate%3D%25STATUSDATE%25%26mnc%3D%25MNC%25%26mcc%3D%25MNC%25%26 -
blocked%3D%25BLOCKED%25%0A
非常感谢只需像这样使用rawurldecode、parse_url和parse_str即可:
$a="http%3A%2F%2Fwwww.mycompany.org%2FmyStatusListener%3FmtmId%3D%25MTMID%25%26statusCode%3D%25STATUSCODE%25%26statusDate%3D%25STATUSDATE%25%26mn25MNC%25%26mcc%3D%25MNC%25%26blocked%3D%25BLOCKED%25%0A";
$b=rawurldecode($a);
$c=parse_url($b,PHP_URL_QUERY);
parse_str($c,$d);
print_r($d);
在这里使用see示例
更新:
例如:
$s = 'http%3A%2F%2Fwwww.mycompany.org%2FmyStatusListener%3FmtmId%3D%25MTMID%25%26statusCode%3D%25STATUSCODE%25%26statusDate%3D%25STATUSDATE%25%26mnc%3D%25MNC%25%26mcc%3D%25MNC%25%26blocked%3D%25BLOCKED%25%0A';
$url = urldecode($s);
$query = parse_url($url, PHP_URL_QUERY);
$elements = explode('&', $query);
$result = array();
foreach ($elements as $element) {
list($k, $v) = explode('=', $element);
$result[$k] = $v;
}
print_r($result);
这个更好