[英]preg_replace replacing ¬ in string to funny character
出于某种原因,当preg_replace
看到¬
字符串中并用¬
替换它时:
$url= "http://something?blah=2&you=3&rate=22¬hing=1";
echo preg_replace("/&rate=[0-9]*/", "", $url) . "<br/>";
但输出如下:
http://something?blah=2&you=3¬hing=1 // Current result
http://something?blah=2&you=3¬hing=1 // Expected result
任何想法为什么会发生这种情况以及如何预防?
&
使用URI时具有特殊含义。 您的URI包含¬
,它本身就是一个有效的HTML实体。 它被转换为¬
,因此造成了麻烦。 正确地逃避它们并且&not
避免这个问题。 如果您的数据是从其他地方获取的,则可以使用htmlspecialchars()
自动执行此操作。
使用此&
; 代替这个&
因为你的&no
特殊意义
使用此网址:
http://something?blah=2&you=3&rate=22&nothing=1
然后相应地进行更换
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.