php替换多个br-tags

时间:2015-03-18 15:06:38

标签: php regex line-breaks

我有一个类似下面的字符串,带有多个br-tag,可以在\ r \ n之后或多个空格之后出现。我想知道什么时候有3个标签或更多标签(无论中间有多少\ r \ n或空格)并且仅替换2x br标签。 <br> <br> <br> High Quality Print<br> <br><br> <br><br> <br> Data<br> <br> <br> <br>

预期产量:
<br><br>High Quality Print<br><br>Data<br><br>

我尝试使用str_replace,但由于各种空间等不起作用而且我不能自己做正则表达式。

1 个答案:

答案 0 :(得分:1)

您可以使用此正则表达式:

$result = preg_replace('/(?:\s*<br[^>]*>\s*){3,}/s', "<br><br>", $input);
//=> <br><br>High Quality Print<br><br>Data<br><br>

RegEx Demo