如何用一个<br />标签替换多个<br />标签?

Web*_*urk 16 php regex

我想<br /><br />变成<br />

正则表达式的模式是什么?

注意:<br />标记可以连续出现2次以上.

FtD*_*Xw6 33

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

这将捕获的任何组合<br>,<br/><br />在它们之间的空白的任何量或类型和具有单替换它们<br />.

  • +1用于在标签之间包含可能的空格.更好的是:''#br\s*/?>(?:\ s*<br\s*/?>)+#i'`(仅当有多个时才会替换. ) (9认同)

Wil*_*and 21

可以使用s/(<br \/>)+/<br \/>/,但如果您尝试在HTML上使用正则表达式,则可能会出错.

编辑:如果您有混合符号,可以使用稍微更健壮的模式:

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

这将会捕获<br/><br>在某些情况下可能有用.