我有一个如下所示的字符串,其中包含多个 br 标记,这些标记可能出现在\r\n 或多个空格之后。我想找出何时有 3 个或更多的 br 标签(无论中间有多少个\r\n 或空格),并将它们替换为仅 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 但由于各种空格等不起作用,我自己无法执行正则表达式。
最佳答案
您可以使用此正则表达式:
$result = preg_replace('/(?:\s*<br[^>]*>\s*){3,}/s', "<br><br>", $input);
//=> <br><br>High Quality Print<br><br>Data<br><br>
关于php 替换多个 br 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29125596/