preg_replace(),删除包含'+'char的字符串

Mik*_*980 0 php

我在使用preg_replace函数从我的字符串中删除"%3Cbr +%2F%3E"时遇到问题.我的假设是'+'字符被错误地解释.这是我的代码:

$address = preg_replace('/%3Cbr+%2F%3E/', '', urlencode($address));
Run Code Online (Sandbox Code Playgroud)

一如既往地谢谢!

Gum*_*mbo 6

+是正则表达式中的特殊字符.它是量词,意味着前面的表达式可以重复一次或多次.

逃避它,\+它应该工作:

$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)