php 替换多个 br 标签

标签 php regex line-breaks

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

RegEx Demo

关于php 替换多个 br 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29125596/

相关文章:

html - 使用元标记打开图形字符串换行符

php - 如何判断变量是否是有效的数组键?

php - 在 SQL 中获取具有相同 id 的行总和到 PHP

regex - Eclipse 的搜索和替换中的匹配组语法是什么

html - HTML 标记属性值内的换行符

html - 如何使用网络字体在浏览器之间实现一致的换行符

javascript - 长轮询和服务器行为

php - 无需用户注册的安全 API - php/Laravel

java - 使用正则表达式查找文本中至少包含一位数字和一个字母以及一些其他条件的序列

regex - 当某些术语之间可能没有空格时,如何拆分文本行中的项目?