我在使用preg_replace函数从我的字符串中删除"%3Cbr +%2F%3E"时遇到问题.我的假设是'+'字符被错误地解释.这是我的代码:
$address = preg_replace('/%3Cbr+%2F%3E/', '', urlencode($address));
Run Code Online (Sandbox Code Playgroud)
一如既往地谢谢!
这+是正则表达式中的特殊字符.它是量词,意味着前面的表达式可以重复一次或多次.
逃避它,\+它应该工作:
$address = preg_replace('/%3Cbr\\+%2F%3E/', '', urlencode($address));
Run Code Online (Sandbox Code Playgroud)
但是,由于您要替换静态表达式,您还可以使用str_replace:
$address = str_replace('%3Cbr+%2F%3E', '', urlencode($address));
Run Code Online (Sandbox Code Playgroud)