改行または rn を
に置き換える: トラブルシューティング ガイド
改行を
に置き換えようとしています。 、preg_replace()、str_replace()、nl2br() を利用したさまざまなアプローチを試みましたが、予期しない動作が発生しました。二重改行 (rr) が失敗の原因である可能性は低いと考えて、説明を求めました。
解決策:
応答で強調されているように、改行を次のように変換するための推奨方法
nl2br()関数を使用しています。ただし、
が挿入されることに注意することが重要です。
例:
<code class="php">// Will not work $desc = 'Line one\nline two'; // Should work $desc2 = "Line one\nline two"; echo nl2br($desc); echo '<br />'; echo nl2br($desc2);</code>
追加の考慮事項:
If nl2br( ) それでも意図したとおりに動作しない場合は、$description テキストが二重引用符で囲まれていることを確認してください。
理由:
一重引用符は、次のようなエスケープ シーケンスを展開しません。 n、二重引用符で囲まれた文字列はそうします。この不一致により、予期しない動作が発生する可能性があります。
ドキュメントの引用:
"注: 二重引用符で囲まれた構文やヒアドキュメント構文とは異なり、特殊文字の変数とエスケープ シーケンスは使用できません。一重引用符で囲まれた文字列内にある場合は展開されます。"
以上が`nl2br()` 関数が改行を `` に置き換えないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。