php替换多个br标记

php替换多个br标记,php,regex,line-breaks,Php,Regex,Line Breaks,我有一个类似下面的字符串,其中包含多个br标记,这些标记可以出现在\r\n或多个空格之后。我想知道什么时候会有3个或更多的br标记(无论中间有多少个\r\n或空格),然后只替换为2个br标记。 高质量打印 数据 预期输出: 高质量打印数据 我尝试使用str_replace,但由于各种空格等原因,无法使用,我自己无法使用正则表达式。您可以使用此正则表达式: $result = preg_replace('/(?:\s*<br[^>]*>\s*){3,}/s',

我有一个类似下面的字符串,其中包含多个br标记,这些标记可以出现在\r\n或多个空格之后。我想知道什么时候会有3个或更多的br标记(无论中间有多少个\r\n或空格),然后只替换为2个br标记。




高质量打印





数据



预期输出:


高质量打印

数据



我尝试使用str_replace,但由于各种空格等原因,无法使用,我自己无法使用正则表达式。

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

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

”,$input); //=>

高质量打印

数据


您的预期输出是什么,并显示您尝试过的内容?
nl2br
您尝试过吗?这对查找/替换所有类型的



有用吗?代码中是否有“缺失”一词?请参阅更新后的答案,它现在将涵盖



等内容。