ホームページ  >  記事  >  バックエンド開発  >  PHP コード内の改行が「nl2br()」で置き換えられないのはなぜですか?

PHP コード内の改行が「nl2br()」で置き換えられないのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-05 10:55:02672ブラウズ

Why Doesn't `nl2br()` Replace Newlines in My PHP Code?

改行文字を HTML 改行で置換する

改行文字または rn 文字を HTML 改行で置換しようとすると、一部の一般的な方法では結果が得られない場合があります。特に二重改行 (rr) を処理する場合に望ましい結果が得られます。

問題と調査:

最初の試みには、preg_replace()、str_replace()、およびnl2br()。ただし、改行は残り、二重改行が問題の原因であるかどうかという疑問が生じました。

解決策と説明:

改行を挿入するには、nl2br() 関数で十分です。改行文字の前。ただし、機能しない場合は、処理中のテキストが二重引用符で囲まれていることを確認してください。

例:

<code class="php">// Won't work
$desc = 'Line one\nline two';
// Should work
$desc2 = "Line one\nline two";

echo nl2br($desc);
echo '<br/>';
echo nl2br($desc2);</code>

追加の洞察:

一重引用符は n のようなエスケープ シーケンスを解釈しませんが、二重引用符は解釈します。したがって、テキストに単一引用符を使用すると、置換プロセスが妨げられる可能性があります。

以上がPHP コード内の改行が「nl2br()」で置き換えられないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。