用php解码网址

时间:2011-12-17 23:02:06

标签: php url

如何使用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

我尝试了很多方法但无法解码

提前致谢

4 个答案:

答案 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