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
コメント