仅替换多个新行

php*_*_qq 3 php regex replace newline

我想做一些与众不同的事情.我想用两个新行替换多个新行.有很多这样的问题,但不完全是这样,请参阅:

Hello\n\n\nWorld\n\n\n\n!

应该成为

Hello\n\nWorld\n\n!

然而这

Hello\nWorld\n!

应该保持不变.我的正则表达式的问题是它用两个替换单个新行.

preg_replace('"(\r?\n)+"', "\n\n", $somevar)

jam*_*riz 8

这样的事情?

preg_replace('"(\r?\n){2,}"', "\n\n", $somevar)
Run Code Online (Sandbox Code Playgroud)

  • 跨平台解决方案:`preg_replace('#(\ r \n?| \n){2,}#','$ 1 $ 1',$ string);`. (2认同)