Как использовать preg_replace для нескольких последовательных пробелов

Мне нужно проверить строку на наличие нескольких последовательных пробелов и заменить их на <br>.

Я пытаюсь позволить пользователю волшебным образом поместить <br> в строку, используя два пробела, которые затем будут добавлены в таблицу с <br> вместо двух пробелов.

Я пробовал несколько комбинаций preg_replace, но не совсем понял.

    $value = preg_replace('/\s+\s+/','<br>',$value);
    $value = preg_replace('/\s+\','<br>',$value);
    $value = preg_replace('/\s++/','<br>',$value);

Очевидно, я не очень хорошо разбираюсь в preg_replace, может кто-нибудь предложить решение?

Что не так просто с preg_replace('/ /','<br>',$value);

miken32 27.12.2018 01:01

Пожалуйста, не используйте регулярное выражение для анализа HTML. Используйте парсер HTML.

Tim Biegeleisen 27.12.2018 01:02

Что ж, ваше первое регулярное выражение должно работать, хотя это странный способ записи /\s{2,}/. Остальные недействительны / не имеют смысла.

Jeto 27.12.2018 01:05

@ miken32 Единственная проблема в том, что я об этом не подумал. Я попробовал вашу очень простую и ясную идею / вопрос и отлично работает во всех ситуациях, которые меня беспокоят. Спасибо.

Keith D Kaiser 27.12.2018 02:41
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
5
79
2

Ответы 2

Для простого примера у меня есть ответ @ miken32.

$value = preg_replace('/  /','<br>',$value);

Прекрасно работает.

Если вы хотите заменить 2 пробела, вы также можете использовать str_replace:

echo str_replace("  ", " ", $value);

Если вы хотите использовать регулярное выражение, вы можете использовать \h{2} для сопоставления двух горизонтальных пробельных символов.

$value = "Two  spaces and one space and three   spaces and ten          spaces";
echo preg_replace('/\h{2}/', '<br>', $value);

Демо PHP

Другие вопросы по теме