如何使用php解码以下查询字符串?
t=%B1Z%2B%26k%C9%BF%B1%3Fh%3Fd%3F%9F%2Fa%90%3Ft%C5%8B%A0%3F-%F9s%D5d+%E2sJ-B%9DE%D0T%FA%A4.%93%AF%A05%98d%F9%85%CC%22H%3Fd%F9%9D%C3%22hE%8B%C1%D65%3F%A8%3A%25%24&charset=ISO-8859-1
我已经尝试过urldecode,但我得到了以下输出
t =±Z +&amp;kÉ¿±?h?d?Ÿ/ a?t?<?-ùsÕdJ-BEÐTú¤。“¯5〜dù...Ì”H?dùÓhE <ÁÖ5?¨: %$&安培;字符集= ISO-8859-1
我尝试了很多方法但无法解码
提前致谢
答案 0 :(得分:2)
使用parse_str
“解码”并解析您的字符串,如本文后面的示例代码段所示。
在php.net手册中阅读有关该功能的更多信息:
$data = "t=%B1Z%2B%26k%C9%BF%B1%3Fh%3Fd%3F%9F%2Fa%90%3Ft%C5%8B%A0%3F-%F9s%D5d+%E2sJ-B%9DE%D0T%FA%A4.%93%AF%A05%98d%F9%85%CC%22H%3Fd%F9%9D%C3%22hE%8B%C1%D65%3F%A8%3A%25%24&charset=ISO-8859-1";
parse_str ($data, $out);
print_r ($out);
Array
(
[t] => ±Z+&kÉ¿±?h?d?/a?tÅ ?-ùsÕd âsJ-BEÐTú¤.¯ 5dùÌ\"H?dùÃ\"hEÁÖ5?¨:%$
[charset] => ISO-8859-1
)
答案 1 :(得分:0)
了解urlencode和urldecode here
$output = urldecode($encoded);
答案 2 :(得分:0)
使用urldecode
!
$decoded = urldecode(substr($queryString,3));
答案 3 :(得分:0)
也许这个可能会有所帮助:
<?php
$variable = 'http%3A%2F%2Fsample.com';
$variable = preg_replace("/%u([0-9a-f]{3,4})/i","&#x\\1;",urldecode($variable));
$variable = html_entity_decode($variable,null,'UTF-8');
echo $variable;
?>
输出将是:http://sample.com