php 替换多个 br-tags

php replace multiple br-tags

我有一个像下面这样的字符串,它带有多个 br-tag,可以出现在 \r\n 之后或多个空格之后。我想知道什么时候有 3x br-tags 或更多(无论有多少 \r\n 或中间有空格)并仅将它们替换为 2x br-tags。 <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,但由于各种空格等原因不起作用,而且我自己无法使用正则表达式。

您可以使用这个正则表达式:

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

RegEx Demo