ホームページ > バックエンド開発 > PHPチュートリアル > PHPが改行を処理する場合の問題の詳細な説明

PHPが改行を処理する場合の問題の詳細な説明

黄舟
リリース: 2023-03-14 14:16:01
オリジナル
1416 人が閲覧しました

まず、rとnの違いについて話しましょう
「キャリッジリターン」と「ラインフィード」の2つの概念の起源と違いについて
コンピュータが登場する前に、テレックスAタイプライター(テレタイプモデル33、 Linux/Unix での tty の概念はそこから来ています) は 1 秒あたり 10 文字を入力できますが、改行を完了するまでに 0.2 秒かかるという問題があります。新しい文字を入力する場合は 2 文字しか入力できません。この 0.2 秒間に送信されると、この文字は失われます。そこで、開発者は、各行の後に 2 つの文字を追加することを考えました。その 1 つは「復帰」と呼ばれます。これは、タイプライターにプリント ヘッドを左端に配置するように指示するもので、もう 1 つは「ライン フィード」と呼ばれ、タイプライターに用紙を 1 行下に移動するように指示します。これが「ライン フィード」と「キャリッジ リターン」の起源です。 、英語の名前からもわかります

その後、コンピューターが発明され、これら 2 つの概念がコンピューターに導入されました。当時、メモリは非常に高価で、一部の科学者はそれぞれの末尾に 2 つ追加すると考えました。文字がもったいないので、1 行追加してください。Unix システムでは、各行の末尾は "n" だけです。各行は「. 」、つまり「nr」です。Mac システムでは、各行の終わりは「」、つまり「n」です。直接的な影響として、Unix/Mac システムでは、Windows でファイルを開くと、すべてのテキストが 1 行になり、Windows でファイルを開くと、先頭に余分な ^M 記号が表示されることがあります。各行の終わり

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=&#39;<br/>&#39;;
$newstr=str_replace($order,$replace,$str);
ログイン後にコピー

以上がPHPが改行を処理する場合の問題の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート