Преобразуйте все теги br в один универсальный <br />
-
18-09-2019 - |
Вопрос
нужен простой preg_replace для преобразования всех <br>
<br/>
и все возможные комбинации br для <br />
.
Это должно сработать для того, чтобы я мог обработать строку, т.е.:$output = preg_replace('', '<br />', $input)
Спасибо всем!
Решение
Одно регулярное выражение, чтобы управлять ими всеми:
$output = preg_replace('/<\s*br[^>]*>/i', '<br />', $input);
Другие советы
[Обязательный комментарий анализатора HTML]
Если вы работаете с неизвестным и непротиворечивым HTML (как это звучит), то опустите регулярное выражение, вы можете навредить себе.Поиск списка тегов и изменение документа - это то, для чего были созданы анализаторы HTML.
Изучите Методы PHP DOM и избавьте себя от многих душевных страданий.
/< ?[bB][rR] ?/??>/
Попробуйте этот шаблон
<\s*[bB][rR]\s*\/?\s*>
$output = preg_replace('/< ?[bB][rR] ?\/? ?>/', '<br />', $input);
Не связан с StackOverflow