我正在设置一个php邮件发送脚本......
在添加不同的标题时,我在电子邮件中遇到了新行的符号(因为< br>标记不会这样做)...
所以我的问题是\ r \ n和\ n \ n之间有什么区别?
例如:
echo $var1 . " \r\n" . $var2 . "\n\n";
感谢您的帮助!
答案 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)
\ n是一个新行,\ r是回车。
http://en.wikipedia.org/wiki/Newline#In_programming_languages
答案 6 :(得分:0)
\r
回车将输入位置移回到开头。然后\n
前进到新行。