【Laravel】Bladeテンプレートを使用した時にHTMLタグはタグとして認識してほしい時の記述方法

Laravel Bladeテンプレート

Laravelを使用したWEBアプリ作成では欠かせないBladeテンプレート、Bladeテンプレートを使用することで簡単な記述方法でかけることがメリットですが、HTMLタグをタグと認識せず文字として表示されてしまう場合は記述方法を変えましょう。

{{ $name }}

波括弧で変数を囲うことで渡されたデータを表示することができます。この方法はクロスサイトスクリプティング攻撃を防ぐPHPのhtmlspecialchars関数 が自動で適用されます。
しかし、PHP側でHTMLタグを含めた出力をしたい時にタグが文字として認識されてしまいます。HTMLタグをタグとして認識させたい時は下記の方法で記述しましょう。

{!! $name !!}

波括弧と感嘆符2個 で変数を囲うことでHTMLタグをタグとして出力することが可能です。
この方法の場合、PHPのhtmlspecialchars関数は適用されないため、ユーザーが入力した情報を出力するのにはXSSの危険性があるため向いていません。

{{– コメントアウト –}}

出力方法ではありませんが、Bladeテンプレートにコメントを記載したい場合は波括弧2個とハイフン2個で囲うことでコメントアウトが可能です。

Laravel 5.5 Bladeテンプレート

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