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

ael*_*lor 2 php regex

g (global)修改是on在默认情况下在preg_replacePHP中,怎么能关掉?

如果我这样做preg_replace(/n/,'',$string);,它将替换所有出现n但我想只替换第一次出现n.我该怎么办?

Ama*_*ali 8

使用第四个参数preg_replace().从文档:

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

preg_replace('/n/', '', $string, 1);
Run Code Online (Sandbox Code Playgroud)

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

$string = str_replace('n', '', $string, 1);
Run Code Online (Sandbox Code Playgroud)