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"