ホームページ > バックエンド開発 > PHPチュートリアル > `nl2br()` 関数が改行を `` に置き換えないのはなぜですか?

`nl2br()` 関数が改行を `` に置き換えないのはなぜですか?

Linda Hamilton
リリース: 2024-11-06 02:27:02
オリジナル
227 人が閲覧しました

Why is my `nl2br()` function not replacing newlines with ``?

改行または 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 サイトの他の関連記事を参照してください。

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