Подтвердить что ты не робот

Как Regex заменить несколько тегов <br/ "> одним тегом <br/" >?

Я хочу, чтобы <br /><br /> превратился в <br />

Каков шаблон для этого с регулярным выражением?

Примечание. Теги <br /> могут встречаться более двух раз подряд.

4b9b3361

Ответ 1

Вы можете использовать s/(<br \/>)+/<br \/>/, но если вы пытаетесь использовать регулярное выражение в HTML, вы, вероятно, делаете что-то неправильно.

Изменить: Несколько более сильный шаблон, который вы могли бы использовать, если у вас смешанные перерывы:

/(<br\ ?\/?>)+/

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

Ответ 2

$html = preg_replace('#(<br */?>\s*)+#i', '<br />', $html);

Это приведет к любой комбинации <br>, <br/> или <br /> с любым количеством или типом пробелов между ними и заменяет их одним <br />.

Ответ 3

(<br />)+

Совместим с ними, чтобы вы могли использовать preg_replace для их замены (помните о правильном выполнении символов).