web-dev-qa-db-ja.com

{{}}と{!!の違いは何ですか!!} in laravel blade files?

laravelフレームワークでは、ブレードを使用してPHP htmlファイルのコードを追加できます。
両方を使用しています{{ }}および{!! !!} Laravelのブレードファイルの構文。
それらの違いは何ですか?

34
Kumaran

ブレード{{}}ステートメントは、XSS攻撃を防ぐためにPHPのhtmlentities関数を介して自動的に送信されます。

次のようなHTMLスタイリングを使用して、コントローラーからビューにデータを渡す場合:

$first = "<b>Narendra Sisodia</b>";

そして、Blade内で{{ $first }}を使用してアクセスすると、出力は次のようになります。

<b>Narendra Sisodia</b>

ただし、{!! $first !!}でアクセスすると、出力は次のようになります。

ナレンドラ・シソディア

76

データをエスケープしたくない場合は、{!! !!}を使用し、そうでない場合は{{ }}を使用します。

8
Sougata Bose

ドキュメントから:https://laravel.com/docs/5.1/blade

デフォルトでは、Blade {{ }}ステートメントは、XSS攻撃を防ぐために、PHPのhtmlentities関数を介して自動的に送信されます。データをエスケープしたくない場合は、次の構文を使用できます。

Hello, {!! $name !!}.
6
Mehari

データの使用をエスケープするには

{{ $data }}

データをエスケープしたくない場合は、以下を使用してください

{!! $data !!}
4
Poorna Rao

Blade {{}}ステートメントは、XSS攻撃を防ぐために、PHP htmlentities関数を介して自動的に送信されます。

詳細はこちらをご覧ください: https://laravel.com/docs/master/blade