php电子邮件中\ r \ n和\ n \ n之间的区别

时间:2012-04-19 07:15:20

标签: php email newline

我正在设置一个php邮件发送脚本......

在添加不同的标题时,我在电子邮件中遇到了新行的符号(因为< br>标记不会这样做)...

所以我的问题是\ r \ n和\ n \ n之间有什么区别?

例如:

echo $var1 . " \r\n" . $var2 . "\n\n";

感谢您的帮助!

7 个答案:

答案 0 :(得分:7)

\r\n是标准。

来自RFC 2822

  

邮件分为多行字符。一条线是一系列的      用两个字符回车分隔的字符      和换行;也就是回车(CR)字符(ASCII      值13)紧接着换行(LF)字符(ASCII      价值10)。 (回车/换行对通常写在      本文件为“CRLF”。)

另一个\n\n只有2行。

如果这是电子邮件标题,我相信它会是

echo $var1 . " \r\n" . $var2 . "\r\n\r\n";

此处\r\n\r\n是标题和正文的分隔符。它可以是HTTP或SMTP

答案 1 :(得分:4)

\r表示回车,\n表示换行。它更容易像类型作家一样思考,\r是从左到右推动纸架(也许它被称为托架???),所以你可以在开头输入行,\n会将行降低一行。传统上基于Windows和Windows的程序都需要这两种程序,但现在大多数程序都将\n识别为所有操作系统的新行。

答案 2 :(得分:2)

\r\n是Windows中的新行,\n\n将是UNIX系统中的两个新行。

不要将新行与HTML中存在的换行符混淆。它基本上只是一个新行,你会在纯文本文件中看到,但不会在浏览器中看到。

请参阅Newline

答案 3 :(得分:2)

实际上\ r \ n是单个换行符的Windows标准。 unix标准是单个\ n字符。

大多数情况下(在电子邮件中)您可以忽略\ r \ n字符,仅使用\ n进行单个换行符。这也意味着\ n \ n表示双重换行符。

答案 4 :(得分:1)

"\r\n"主要用于DOS,而在UNIX中则表示"\n"。因此,如果您在UNIX中解释"\n\n",它将相当于两个换行符。由于您提到PHP,因此使用PHP预定义常量PHP_EOL是安全的。

答案 5 :(得分:0)

答案 6 :(得分:0)

\r回车将输入位置移回到开头。然后\n前进到新行。