How can I replace \r\n with a line break when I echo?

1.2k Views Asked by At

I am protecting my string using this code to insert it into the database:

function protect($string){

    $string = mysql_real_escape_string($string);

    return $string;
}

I then unprotect it using this code so that I can echo it out from the database:

function echoprotect($string){

    $string = nl2br($string);
    $string = stripslashes($string);

    return $string;
}

The nl2br doesn't seem to work and I don't know why. The output I get is:

HellornrnThe content ect...

instead of:

hello

the content ect...

1

There are 1 best solutions below

8
On BEST ANSWER

From the mysql_real_escape_string manual:

mysql_real_escape_string() calls MySQL's library function mysql_real_escape_string, which prepends backslashes to the following characters: \x00, \n, \r, \, ', " and \x1a.

So nl2br() is ignoring the escaped \n's and \r's, methinks.