Замените новые строки, но сохраняйте пустые строки

Я хочу заменить новые строки (\ r \ n) пробелом, но я хочу сохранить пустые строки. Другими словами, я хочу заменить \ r \ n на '', если \ r \ n не предшествует другой \ r \ n. Например:

line 1 line 2 line 3 line 4 

Скольз в конце концов …

 line 1 line 2 line 3 line 4 

Но не как «строка 1 строка 2 строка 3 строка 4», что я и делаю прямо сейчас с этим

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

Попробуй это:

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

Конечно, вы можете изменить \n на все, что вам нужно.

Рабочий пример: http://ideone.com/dF5L9

Попробуй это:

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

Это должно сделать трюк:

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