動作環境
- Laravel 8.40.0
- PHP 8.0.3
- macOS 12.0.1
下記のような変数をbladeで表示しようとするとHTMLコードがエスケープされ文字列としてそのまま表示されてしまう。
$html = "<span style='background-color:yellow'>{$str}</span>"{{ $html }}
//コードがエスケープされ文字列としてそのまま表示されてしまう。
//<span style='background-color:yellow'>hoge</span>解決策
{!! $html !!}{{ }} で囲んでしまうとHTMLコードはエスケープされコードがそのまま表示されてしまうため、HTMLをエスケープせずにblade側で出力させるには上記のようにする。