views:

87

answers:

2

I'm using this but it's replacing single occurances of a new line with <br/><br/>

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

It happens with the first pattern.

+3  A: 

Well, I suspect that perhaps your input may not be '/r/n' but only '\n'. In this case you should make your regex to detect that like this: '/(\r?\n){2,}/'.

So your code might be:

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

Hopes this helps.

NawaMan
A: 

with the assistance of NawaMan i made my code this

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

:) thanks

Supernovah