2012-04-03 44 views
1

如果我尝试的URLphp urlencode编码错误?

http://herthabsc.de/index.php?id=3631&tx_ttnews[tt_news]=13144&cHash=9ef2e9ee006fb16188ebf764232a0ba9 

编码与urlencode()http_build_query()它给我的结果

http%3A%2F%2Fherthabsc.de%2Findex.php%3Fid%3D3631%26%23038%3Btx_ttnews%5Btt_news%5D%3D13144%26%23038%3BcHash%3D9ef2e9ee006fb16188ebf764232a0ba9 

但是,这不是它应该是什么。有没有一个已知的错误?或使用WordPress的问题?

+7

你还指望它呢?这是一个编码的URL。你只希望编码该URL的querystring部分? – 2012-04-03 19:55:00

+1

该功能按照手册中的描述工作,这是您的期望是错误的。 – 2012-04-03 20:06:39

+0

它实际上必须是http%3A // herthabsc.de/index.php%3Fid%3D3631%26tx_ttnews%5Btt_news%5D%3D13144%26cHash%3D9ef2e9ee006fb16188ebf764232a0ba9 – Jonathan 2012-04-03 20:07:39

回答

4

您已经对URL进行了双重编码。在你输出字符串运行urldecode()是给我下面的:http://herthabsc.de/index.php?id=3631&tx_ttnews[tt_news]=13144&cHash=9ef2e9ee006fb16188ebf764232a0ba9

编辑: 尝试以下

urlencode(html_entity_decode('http://herthabsc.de/index.php?id=3631&tx_ttnews[tt_news]=13144&cHash=9ef2e9ee006fb16188ebf764232a0ba9')); 
+0

是的,可能海报正在查看浏览器中的链接,它显示&#038作为单个&符号 – kuba 2012-04-03 20:39:11

+0

是的,这也是给我的。 – Jonathan 2012-04-03 21:26:47

+0

但我只编码一次。 – Jonathan 2012-04-03 21:35:16