Замените новые строки, но оставляйте пустые строки - PullRequest
6 голосов
/ 10 марта 2011

Я хочу заменить символы новой строки (\ 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 ]

3 голосов
/ 10 марта 2011

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

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

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

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

2 голосов
/ 10 марта 2011

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

 preg_replace("/(.)\r\n(?=.|$)/", "$1 ", $string);
1 голос
/ 10 марта 2011

Это должно сработать:

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