繁体   English   中英

PHP正则表达式将新行限制为最多两个

[英]PHP regex to limit new lines to a maxmium of two

我正在使用它,但是它用<br/><br/>替换了新行的单个出现

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

它发生在第一个模式。

好吧,我怀疑您的输入可能不是'/ 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;
}

:) 谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM