关闭preg_replace中的g(全局)修饰符

时间:2014-04-07 15:11:58

标签: php regex

默认情况下,g (global)修饰符onpreg_replace PHP,如何关闭?

如果我执行了preg_replace(/n/,'',$string);,它将替换n的所有匹配项,但我只想替换第一次出现的n。我该怎么办?

1 个答案:

答案 0 :(得分:8)

使用preg_replace()的第四个参数。来自文档:

  

limit - 每个主题字符串中每个模式的最大可能替换次数。默认为-1(无限制)。

preg_replace('/n/', '', $string, 1);

但对于这样简单的事情,正则表达式是过度的。一个简单的str_replace()就足够了:

$string = str_replace('n', '', $string, 1);