我想从字符串中删除多余的空行,但在每行之间允许一个空行.喜欢:
line1
line2
Run Code Online (Sandbox Code Playgroud)
应该成为:
line1
line2
Run Code Online (Sandbox Code Playgroud)
我确实找到了以下正则表达式(忘了我发现它的地方):
preg_replace('/^\n+|^[\t\s]*\n+/m','',$message);
Run Code Online (Sandbox Code Playgroud)
这有效,但删除所有空行而不在每行之间留下空行.
编辑:我刚刚在http://jsfiddle.net/RAqSS/创建了一个快速示例
尝试更换:
\n(\s*\n){2,}
Run Code Online (Sandbox Code Playgroud)
有:
\n\n
Run Code Online (Sandbox Code Playgroud)
像这样:
preg_replace('/\n(\s*\n){2,}/', "\n\n", $message); // Quotes are important here.
Run Code Online (Sandbox Code Playgroud)
如果您不想要空行,则可以将其更改{2,}为a +并使用单行\n.它实际上适用于+而不是{2,}.这{2,}是一个优化.