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

PHP正则表达式删除多个?-标记

  •  5
  • davr  · 技术社区  · 16 年前

    输入示例:

    这东西开着吗???还是怎样

    期望输出:

    我正在使用 preg_replace() 在PHP中。

    7 回复  |  直到 16 年前
        1
  •  10
  •   pilsetnieks    16 年前
    preg_replace('{\?+}', '?', 'Is this thing on??? or what???');
    

    也就是说,您只需避开问号,“\?+”中的加号意味着我们正在用一个或多个字符替换每个实例,尽管我怀疑“\?{2,}”可能更好、更有效(用两个或多个问号字符替换每个实例)。

        2
  •  2
  •   Rob    16 年前

    preg_replace( '{\\?+}', '?', $text );

    我应该这样做。

    在这种情况下,C# verbatim strings 你很好。

        3
  •  1
  •   Paige Ruten    16 年前

    这应该是可行的(我已经测试过了):

    preg_replace('/\?+/', '?', $subject);
    
        4
  •  1
  •   Markus Jarderot    16 年前
    preg_replace('/\?{2,}/','?',$text)
    
        5
  •  1
  •   Xian    16 年前

    这应该可以

    preg_replace('/(\?+)/m', '?', 'what is going in here????');
    

    http://regex.larsolavtorvik.com/

        6
  •  0
  •   powtac    16 年前
    str_replace('??', '?', 'Replace ??? in this text');
    
        7
  •  0
  •   HamZa    11 年前

    你试过这种式样吗

    [?]+
    

    取代 ? ?