Я разрабатываю сайт с одной службой на PHP, который просто отображает сообщения, публикуемые посетителями (в идеале окружающие тему веб-сайта). Любой может опубликовать до трех сообщений в час.
Поскольку на сайте будет только одна страница, я бы хотел контролировать длину каждого сообщения по вертикали. Однако я хочу хотя бы частично сохранить разрывы строк в исходном сообщении. Компромиссом может быть разрешение двух разрывов строк, но если их больше двух, замените их всего двумя разрывами строк подряд. Переполнение стека реализует это.
Например:
"Дикобразы \ Нер \ п \ п \ п \ nporcupiney."
будет изменено на
«Дикобразы
Дикобразы».
Одним из сложных аспектов проверки разрывов строк является возможность их сбора и сохранения в виде \ r \ n, \ r или \ n. Я думал о преобразовании всех разрывов строк в
с помощью nl2br (), но это казалось ненужным.
Мой вопрос: используя регулярные выражения в PHP (с такими функциями, как preg_match () и preg_replace ()), как я могу проверить наличие более двух разрывов строк подряд (с пробелами между ними или без них), а затем изменить их до двух разрывов строк?