PHP的正则expression式来限制新的行数最多两个

<br/>我正在使用这个,但它取代了一个新的行的单个发生

 function nl2br2($string){ $string = preg_replace('/(\r\n){2,}/', '<br/><br/>', $string); //$string = preg_replace('/[\r\n]/', '<br/>', $string); return $string; } 

它发生在第一个模式。

Solutions Collecting From Web of "PHP的正则expression式来限制新的行数最多两个"

那么,我怀疑你的输入可能不是'/ r / n',而只是'\ n'。 在这种情况下,你应该让你的正则表达式来检测,像这样:'/(\ r?\ n){2,} /'。

所以你的代码可能是:

 function nl2br2($string){ $string = preg_replace('/(\r?\n){2,}/', '<br/><br/>', $string); return $string; } 

希望这有助于。

在NawaMan的帮助下,我做了我的代码

 function nl2br2($string){ $string = preg_replace('/(\r?\n){2,}/', '<br/><br/>', $string); $string = preg_replace('/(\r?\n)+/', '<br/>', $string); return $string; } 

:) 谢谢