Сначала думал обойтись без регулярных выражений: str_replace("\r\n\r\n", "\r\n", $_POST['mess_text']) но вариант, то не срабатывает (есть подозрение что не для всех браузеров в textarea нажатие Enter заменяется именно на "\r\n"), в некоторых случаях количество переводов строки уменьшается вдвое. Как заменить любое количество переводов строки на единственный?
Код (Text): <?php ini_set('display_errors',1); error_reporting(E_ALL); $text='Hello my friend. I ll be back. Godbuy my mother.<br><br><br>Goodbuy my teacher.'; $poisk='/([\n\r\t\v]|<br>|<br \>){1,5}/si'; $zamena='<br>'; $new=preg_replace($poisk,$zamena,$text); echo $new; ?>
Код (Text): $str = preg_replace('/<br\s*\/?>/s', "\r\n", $str); $str = preg_replace('/[\r?\n]{2,}/s', "\r\n", $str);