Bladeテンプレートで、渡された値を表示する際 {{ $post->content }} などとして表示しますが、対象の値に改行コードが入っていても改行されずに表示されます。
改行を反映するには nl2br() を追加いますが、{{ }} で括られているとエスケープされてしまい変換された <br> がそのままテキストとして表示されますので、波括弧とエクスクラメーションマーク2つの {!! !!} で括ると意図したように改行された状態で表示されます。
改行されない
{{ nl2br( $post->content) }}
改行される
{!! nl2br( $post->content) !!}
エスケープ処理を追加
{!! nl2br(htmlspecialchars($post->content)) !!}
動作環境情報
"macOS Ventura" 13.1 "Docker Desktop" 4.15.0 "Laravel Sail" "Laravel Framework" 9.48.0



コメント