「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > PHP コード内の改行が「nl2br()」で置き換えられないのはなぜですか?

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

2024 年 11 月 15 日に公開
ブラウズ:603

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

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

改行文字または \r\n 文字を HTML 改行で置換しようとする場合、いくつかの一般的な方法特に二重改行 (\r\r) を処理する場合、望ましい結果が得られない可能性があります。

問題と調査:

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

解決策と説明:

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

例:

// Won't work
$desc = 'Line one\nline two';
// Should work
$desc2 = "Line one\nline two";

echo nl2br($desc);
echo '
'; echo nl2br($desc2);

追加の洞察:

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

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3