3

PHPメール送信スクリプトを設定しています...

さまざまなヘッダーを追加しているときに、電子メールの新しい行の記号に出くわしました(<br>タグでは機能しないため)...

だから私の質問は\r\nと\n\ nの違いは何ですか?

例えば:

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

ご協力いただきありがとうございます!

4

7 に答える 7

7

\r\nが標準です。

RFC 2822から

メッセージは文字列に分割されます。行は、キャリッジ リターンとライン フィードの 2 文字で区切られた一連の文字です。つまり、キャリッジ リターン (CR) 文字 (ASCII 値 13) の直後にライン フィード (LF) 文字 (ASCII 値 10) が続きます。(通常、キャリッジ リターン/ライン フィードのペアは、このドキュメントでは "CRLF" として記述されます。)

もう1\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。行を1つ下げます。従来、WindowsとWindowsベースのプログラムには両方が必要でしたが、ほとんどのプログラムは現在\n、すべてのオペレーティングシステムの新しい行として認識されています。

于 2012-04-19T07:21:06.317 に答える
2

実際には、\ r\nは単一の改行のWindows標準です。UNIX標準は単一の\n文字です。

ほとんどの場合(電子メールでは)、\ r文字を無視して、\nを1つの改行にのみ使用できます。これは、\ n\nが二重改行を表すことも意味します。

于 2012-04-19T07:18:32.747 に答える
2

\r\nは、Windows では改行であり、\n\nUNIX のようなシステムでは 2 つの改行になります。

新しい行と、HTML に存在する改行を混同しないでください。これは基本的に、プレーン テキスト ファイルに表示される改行にすぎませんが、ブラウザーには表示されません。

改行を参照

于 2012-04-19T07:17:50.933 に答える
1

"\r\n"は主にDOSで使用されますが、UNIXではで表現され"\n"ます。したがって"\n\n"、UNIXで解釈すると、2つの改行に相当します。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 に答える