Регулярное выражение PHP для ограничения новых строк до maxmium из двух

Я использую это, но он заменяет отдельные события новой строки <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; } 

🙂 благодаря