まず、rとnの違いについて話しましょう
「キャリッジリターン」と「ラインフィード」の2つの概念の起源と違いについて
コンピュータが登場する前に、テレックスAタイプライター(テレタイプモデル33、 Linux/Unix での tty の概念はそこから来ています) は 1 秒あたり 10 文字を入力できますが、改行を完了するまでに 0.2 秒かかるという問題があります。新しい文字を入力する場合は 2 文字しか入力できません。この 0.2 秒間に送信されると、この文字は失われます。そこで、開発者は、各行の後に 2 つの文字を追加することを考えました。その 1 つは「復帰」と呼ばれます。これは、タイプライターにプリント ヘッドを左端に配置するように指示するもので、もう 1 つは「ライン フィード」と呼ばれ、タイプライターに用紙を 1 行下に移動するように指示します。これが「ライン フィード」と「キャリッジ リターン」の起源です。 、英語の名前からもわかります
その後、コンピューターが発明され、これら 2 つの概念がコンピューターに導入されました。当時、メモリは非常に高価で、一部の科学者はそれぞれの末尾に 2 つ追加すると考えました。文字がもったいないので、1 行追加してください。Unix システムでは、各行の末尾は "n" だけです。各行は「.
C 言語プログラミング (Windows システム)
r はこの行の先頭に戻り、この行の前の出力を上書きします
例: (以下は C++ コードであることに注意してください)
。最後にxixiだけ表示されて、ははは後ろが上書きされますint main (){cout << "hahaha" << "\r" << "xixi" ;}
nはキャリッジリターン+ラインフィードで、カーソルを最初に行頭に移動し、次に行頭になります。次の行の int main()
{
cout << "hahaha" << "\n" << "xixi" ;
}
2 番目の改行の表現
(.txt、.PHP など) の改行は「rn」、「n」、「r」です。 , ただし、HTML ファイルで表示される場合 (ここで注意: HTML の TEXTAREA テキスト フィールドの改行も "r" または "n" です) は "<" ;br/>" タグになります。
PHP スクリプトを使用して変換します。
コードは次のとおりです (PHP マニュアルより):
//Order of replacement $str="Line1\nLine2\rLine3\r\nLine4\n"; $order=array("\r\n","\n","\r"); $replace='<br/>'; $newstr=str_replace($order,$replace,$str);
以上がPHPが改行を処理する場合の問題の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。