我想删除重复次数超过2次的多个<br>
标记,例如:
This is text blah blah...
<br><br><br><br><br><br>Another text here
应该是:
This is text blah blah...
<br><br>Another text here
我有这个:
$str = preg_replace('#(<br\s?/?>)+#', '<br><br>', $str );
但是这也会用2 <br>
替换简单的br
标签,我怎样才能更改正则表达式?
由于
答案 0 :(得分:3)
试试这个..
#(<br\s?/?>){2,}#
<强> Codepad 强>
如果您的<br>
之间包含空格,那么请遵循以下内容 -
#(<br\s?/?>\s*){2,}#
<强> Codepad 强>
答案 1 :(得分:1)
试试这个:
$str = 'This is text blah blah...
<br><br><br><br><br><br>Another text here';
echo preg_replace('#(\s*<br\s*/?>\s*<br\s*/?>\s*)+#', '<br><br>', $str );
输出:
This is text blah blah...
<br><br>Another text here
更新: 感谢@ M42的观点:
echo preg_replace('#(\s*<br\s*/?>\s*){2,}#', '<br><br>', $str );