php替换多个br标记


php replace multiple br-tags

我有一个类似下面的字符串,其中包含多个br标记,这些标记可以出现在''r''n多个空格之后或多个空格后面。我想知道什么时候有3个或更多的br标签(无论有多少个或中间有多少空格),并将它们替换为只有2个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,但由于各种空格等原因,这些都不起作用,我自己也无法执行regex。

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

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

RegEx演示