改行を HTML Break タグで置き換える: トラブルシューティング
多くの PHP ユーザーは、改行を
で置き換えようとすると問題に遭遇します。タグ。 preg_replace()、str_replace()、nl2br() など、多数のアプローチが利用可能ですが、一部のアプローチでは望ましい結果が得られない場合があります。この投稿では、この問題の潜在的な原因を調査し、解決策を提供します。
提供されたコード スニペットは、改行を置換するための 3 つの一般的な方法を示しています。しかし、著者は、テキストに二重改行 (「rr」) が含まれているにもかかわらず、これらのアプローチはいずれも成功しなかったと報告しています。これは、問題が選択したメソッドではなくテキスト自体にある可能性があることを示唆しています。
さらに調査すると、$description 変数が一重引用符 (') で囲まれていることがわかります。二重引用符 (") とは異なり、一重引用符は改行文字 (「n」) を含むエスケープ シーケンスを解釈しません。その結果、テキストは変更されません。
この問題を解決するには、テキストを次のようにする必要があります。二重引用符で囲むことで、エスケープ シーケンスが解釈され、改行が
タグに正しく置き換えられるようになります。
二重引用符で囲んだ nl2br() 関数の使用例を次に示します。 text:
<code class="php">$description = "Line one\r\rline two"; echo nl2br($description);</code>
このコードは、出現する二重改行をすべて
タグに置き換え、目的の書式設定されたテキストを生成します。
以上がPHP コードで改行が `` タグに置き換えられないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。