替换换行符,但保留空行

时间:2011-03-10 10:45:04

标签: php regex preg-replace newline

我想用空格替换换行符(\ r \ n),但我想保留空白行。换句话说,如果\ r \ n前面没有另一个\ r \ n,我想用\'替换\ r \ n。例如:

line 1

line 2
line 3
line 4

Shold结束为......

line 1

line 2 line 3 line 4

但不是“第1行第2行第3行第4行”,这就是我现在正在做的事情

preg_replace("/\r\n/", " ", $string);

3 个答案:

答案 0 :(得分:3)

试试这个:

(?<!\n)\n(?!\n)

当然,您可以将\n更改为您需要的任何内容。

工作示例:http://ideone.com/dF5L9

答案 1 :(得分:2)

试试这个:

 preg_replace("/(.)\r\n(?=.|$)/", "$1 ", $string);

答案 2 :(得分:1)

这应该可以解决问题:

preg_replace("/(?<!\n)\n(?!\n)/", " ", $string);