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

2022-08-30 22:38:31

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

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

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


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

这将捕获 、 的任意组合,或者它们之间具有任意数量或类型的空格,并用单个 .<br><br/><br /><br />


答案 2

您可以使用 ,但是如果您尝试在 HTML 上使用正则表达式,则可能做错了什么。s/(<br \/>)+/<br \/>/

编辑:一个稍微更健壮的模式,如果你有混合休息,你可以使用:

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

这将捕获和,这在某些情况下可能很有用。<br/><br>


推荐