我在使用preg_replace函数从字符串中删除“%3Cbr +%2F%3E”时遇到问题。我的假设是'+'字符被错误地解释。这是我的代码:
$address = preg_replace('/%3Cbr+%2F%3E/', '', urlencode($address));
一如既往地谢谢!
答案 0 :(得分:6)
+
是正则表达式中的特殊字符。它是一个量词,意味着前面的表达式可以重复一次或多次。
使用\+
进行转义,它应该有效:
$address = preg_replace('/%3Cbr\\+%2F%3E/', '', urlencode($address));
但是,由于您要替换静态表达式,因此您还可以使用str_replace
:
$address = str_replace('%3Cbr+%2F%3E', '', urlencode($address));