Skip to content Skip to sidebar Skip to footer

Replace Carriage Return In An Email

I'm trying to replace carriage returns with a line break in PHP so that my site moderators don't have to type every time they want to add a new line when typing an email from my s

Solution 1:

Quite good example from php.net documentation

// Order of replacement$str="Line 1\nLine 2\rLine 3\r\nLine 4\n";
$order= array("\r\n", "\n", "\r");
$replace= '<br />';

// Processes \r\n's first so they aren't converted twice.$newstr= str_replace($order, $replace, $str);

Solution 2:

Your regular expression is escaping your r and n.

Instead of

preg_replace('/\r\n?/', "<br />", $str);

Try this:

preg_replace('/\\r\\n/', "<br />", $str);

Solution 3:

Did you test it like this?

$str= str_replace( "\r\n", "<br />", $str );
$str= str_replace( "\r", "<br />", $str );
$str= str_replace( "\n", "<br />", $str );

This should work pretty much always. And remember always use "\r" instead of '\r'.

Post a Comment for "Replace Carriage Return In An Email"