Php 在电子邮件中替换回车

Php 在电子邮件中替换回车,php,html,xhtml,Php,Html,Xhtml,我试图用PHP中的换行符替换回车符,这样我的网站版主就不必每次在我的网站上键入电子邮件时都要键入。我尝试了几种不同的方法来替换换行符,但没有一种有效。我尝试过的方法有: preg_replace('/\r\n?/', "<br />", $str); eregi_replace(char(13), "<br />", $str); str_replace("\r\n", "<br />", $str); str_replace("\n", "<br /&

我试图用PHP中的换行符替换回车符,这样我的网站版主就不必每次在我的网站上键入电子邮件时都要键入
。我尝试了几种不同的方法来替换换行符,但没有一种有效。我尝试过的方法有:

preg_replace('/\r\n?/', "<br />", $str);
eregi_replace(char(13), "<br />", $str);
str_replace("\r\n", "<br />", $str);
str_replace("\n", "<br />", $str);
preg\u replace('/\r\n?/',“
,$str); eregi_替换(字符(13),“
,$str); str\u替换(“\r\n”、“
”、$str); str_替换(“\n”、“
”、$str);
以及nl2br函数


我在谷歌上寻找答案已经有半个小时了,但什么也没找到。有人能帮忙吗?

你是这样测试的吗

$str = str_replace( "\r\n", "<br />", $str );
$str = str_replace( "\r", "<br />", $str );
$str = str_replace( "\n", "<br />", $str );
$str=str\u替换(“\r\n”、“
”、$str); $str=str\u替换(“\r”,“
,$str); $str=str\u替换(“\n”,“
,$str);

这应该一直有效。请记住,请始终使用
“\r”
而不是
”\r'

您是这样测试的吗

$str = str_replace( "\r\n", "<br />", $str );
$str = str_replace( "\r", "<br />", $str );
$str = str_replace( "\n", "<br />", $str );
$str=str\u替换(“\r\n”、“
”、$str); $str=str\u替换(“\r”,“
,$str); $str=str\u替换(“\n”,“
,$str);

这应该一直有效。请记住,始终使用
“\r”
而不是
'\r'

正则表达式将转义
r
n

而不是

preg_replace('/\r\n?/', "<br />", $str);
preg\u replace('/\r\n?/',“
,$str);
试试这个:

preg_replace('/\\r\\n/', "<br />", $str);
preg\u replace('/\\r\\n/',“
”,$str);
正则表达式正在转义
r
n

而不是

preg_replace('/\r\n?/', "<br />", $str);
preg\u replace('/\r\n?/',“
,$str);
试试这个:

preg_replace('/\\r\\n/', "<br />", $str);
preg\u replace('/\\r\\n/',“
”,$str);
来自php.net的非常好的示例

//更换顺序
$str=“第1行\n第2行\r第3行\r\n第4行\n”;
$order=数组(“\r\n”、“\n”、“\r”);
$replace='
'; //进程\r\n是第一个,因此不会转换两次。 $newstr=str\u replace($order,$replace,$str);
来自php.net的非常好的示例

//更换顺序
$str=“第1行\n第2行\r第3行\r\n第4行\n”;
$order=数组(“\r\n”、“\n”、“\r”);
$replace='
'; //进程\r\n是第一个,因此不会转换两次。 $newstr=str\u replace($order,$replace,$str);
nl2br
应该可以工作,肯定还有其他问题。您是刚写了这些行还是将$str设置为等于它$str=str\u replace(“\n”、“
”、$str);或$str=nl2br($str);我是这样写的:$str=str\u replace(“\n“,”
,$str)
ereg.*
eregi.*
函数已被弃用。不要用它们
nl2br
应该可以工作,肯定还有其他问题。您是刚写了这些行还是将$str设置为等于它$str=str\u replace(“\n”、“
”、$str);或$str=nl2br($str);我是这样写的:$str=str\u replace(“\n“,”
,$str)
ereg.*
eregi.*
函数已被弃用。不要用它们!小心,您可能会在此处用两个

标记替换Windows行结束符
“\r\n”
。Thanx,更改脚本,首先检查双精度。小心,您可能会在此处用两个

标记替换Windows行结束符
“\r\n”
。Thanx,更改脚本,首先检查双精度。