Преобразуйте все теги br в один универсальный <br />

StackOverflow https://stackoverflow.com/questions/1873655

  •  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);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top