3

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

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

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

例如:

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

感谢您的帮助!

4

7 回答 7

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

于 2012-04-19T07:25:51.710 回答
4

\r表示回车,\n表示换行。比较容易想象成打字机,\r就是当你把纸架(可能叫马车???)从左往右推,这样你就可以在行首打字了,\n意志降低一行。传统上,windows 和基于 windows 的程序两者都需要,但现在大多数程序都认为\n是所有操作系统的新产品线。

于 2012-04-19T07:21:06.317 回答
2

\r\n是 windows 中的一个新行,\n\n在类 UNIX 系统上将是两个新行。

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

换行

于 2012-04-19T07:17:50.933 回答
2

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

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

于 2012-04-19T07:18:32.747 回答
1

"\r\n"主要用于 DOS,而在 UNIX 中则以"\n". 因此,如果您"\n\n"在 UNIX 中进行解释,它将相当于两个换行符。既然你提到了 PHP,那么使用 PHP 预定义的常量是安全的PHP_EOL

于 2012-04-19T07:22:52.943 回答
0

\n 是换行符,\r 是回车符。

http://en.wikipedia.org/wiki/Newline#In_programming_languages

于 2012-04-19T07:16:51.937 回答
0

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

于 2012-04-19T07:19:59.360 回答