我有一个名为path的变量,例如url。
www.google.co.uk%3Fq%3Dde
我正在通过2 str_replace运行以正确格式化。
$path = str_replace('%3F', '?', $path);
$path = str_replace ('%3D', '=', $path);
然后我打印输出,但仍然打印“%3F ”和“%3D ”。当我使用这两个str_replace
时,这确实有效 $path = str_replace('%3F', '?');
$path = str_replace ('%3D', '=');
但是当我使用这些时,drupal 6会引发错误。
我对php很新,所以它可能是我想要的简单的
答案 0 :(得分:8)
请勿使用str_replace()
。请改用urldecode()
,因为这是其设计目的。
echo urldecode("www.google.co.uk%3Fq%3Dde");
// www.google.co.uk?q=de
如果没有看到其他代码,很难说出前两个str_replace()
调用失败的原因。它们是正确形成的。
答案 1 :(得分:3)
答案 2 :(得分:0)
应该是:你在最后两行的str_replace中缺少$ path:
$path = "www.google.co.uk%3Fq%3Dde";
$path = str_replace('%3F', '?', $path);
$path = str_replace ('%3D', '=', $path);
答案 3 :(得分:0)
使用PHP的urldecode函数。
$url = "www.google.co.uk%3Fq%3Dde";
$path = urldecode($url);