代码之家  ›  专栏  ›  技术社区  ›  Mikey1980

preg_replace(),删除包含“+”字符的字符串

php
  •  0
  • Mikey1980  · 技术社区  · 15 年前

    使用preg_replace函数从字符串中删除“%3cbr+%2f%3e”时出现问题。我的假设是“+”字符被错误地解释。这里是我的代码:

    $address = preg_replace('/%3Cbr+%2F%3E/', '', urlencode($address));
    

    一如既往地感谢你!

    1 回复  |  直到 15 年前
        1
  •  6
  •   Gumbo    15 年前

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

    逃离它 \+ 它应该可以工作:

    $address = preg_replace('/%3Cbr\\+%2F%3E/', '', urlencode($address));
    

    但由于您要替换静态表达式,因此也可以使用 str_replace :

    $address = str_replace('%3Cbr+%2F%3E', '', urlencode($address));
    
    推荐文章