[英]Encoded URL how to Get Query String Values
我感觉我在通过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%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);
使用urldecode在此处查看示例http://codepad.org/jANpV0Vz
更新:
例:
$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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.