PHP

【Laravel】BladeでHTMLを出力させる方法

動作環境

  • 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側で出力させるには上記のようにする。

  • この記事を書いた人

コウダイ

文系・ノースキル・未経験・アラサー・地方住み・残業100時間超えの社畜ホテルマンから都内IT系上場企業のフルリモートWebエンジニアに転職した人。

都内IT系上場企業に勤務するWebエンジニア5年目|プログラミングスクールのテックキャンプ公式アンバサダー|新卒で手取り18万の地方ホテルマン6年→挫折→プログラミングを900時間勉強→転職活動100社以上応募→アラサー未経験から7ヶ月でフルリモートのWebエンジニアに転職し年収150万円UP|34歳2児のパパ|ブログ歴4年→月間6,000PV|エンジニア転職ノウハウ、プログラミング、Web制作、副業での稼ぎ方など、「時間や場所に縛られずに稼ぐ」方法を発信しています。

-PHP