Удалить более двух возвратов каретки в текстовой форме?

Я часами смотрел на десятки разных решений, но ни одно из них не сработало. Я получаю содержимое текстовой области в строке php, и я хотел бы удалить все, что больше, чем одна пустая строка.

Example ok
Hi how are you,
// one blank line here so ok to keep
Not too bad thanks

Example not ok
hi how are you
// two lines (or more) here so we remove one and keep the other

not too bad thanks

Кто-нибудь знает правильный preg_replace для использования? Обратите внимание, что я не хочу изменять данные (не nl2br (), пожалуйста), так как мне проще сохранять их в исходном состоянии (поддержка ios).

0

Решение

Может быть, вы должны попробовать это:

preg_replace('/\n\r(\n\r)+/', "\n\r", $str);
0

Другие решения

Вы могли бы попробовать

preg_replace("/[\r\n]+/", "\n", $text);

Он заменяет одну (или более) новую строку или возврат каретки одной новой строкой.

0