Laravel | Bladeテンプレートで改行を反映できるようにする(nl2br)

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

コメント

タイトルとURLをコピーしました