[英]PHP - str_replace not working as expected
我有一个称为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很陌生,所以可能缺少一些简单的东西
请勿为此使用str_replace()
。 请改用urldecode()
,因为这是它的设计目的。
echo urldecode("www.google.co.uk%3Fq%3Dde");
// www.google.co.uk?q=de
没有看到其余的代码,很难说为什么前两个str_replace()
调用失败。 它们的格式正确。
应该是: 最后两行缺少str_replace中的$ path:
$path = "www.google.co.uk%3Fq%3Dde";
$path = str_replace('%3F', '?', $path);
$path = str_replace ('%3D', '=', $path);
使用PHP的urldecode函数。
$url = "www.google.co.uk%3Fq%3Dde";
$path = urldecode($url);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.