我有一个类似下面的字符串,其中包含多个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演示