フラッシュ メッセージ内に HTML タグを含める方法はありますか。次のものがありますが、ブレードでレンダリングするとタグがエスケープされますか?
flash()->success('Confirmation email sent to <strong>' . $user->email . '</strong>');
フラッシュ メッセージ内に HTML タグを含める方法はありますか。次のものがありますが、ブレードでレンダリングするとタグがエスケープされますか?
flash()->success('Confirmation email sent to <strong>' . $user->email . '</strong>');
エスケープされていないブレードの構文を使用する必要があります
{!! $flashData !!} // unescaped variable
それ以外の:
{{ $flashData }} // escaped variable
エスケープされた構文は、不正な動作をするユーザーが<script>
タグや JavaScript コードをアプリへの入力として提供するのを防ぐため、デフォルトで使用するのが最適です。html タグと JavaScript が削除されていない場合、これはセキュリティ上の問題である可能性があります。そのため、データが安全であると 100% 確信していない限り、データのエスケープ解除には細心の注意を払っています。
また、考えてみてください: なぜフラッシュ データに html が必要なのですか? $user->email
をそのまま送信して、それをレンダリングする方法をビューに任せることができないのはなぜですか。HTML マークアップをビューに保持します。これにより、はるかにクリーンになります。
「エスケープされていないデータの表示」については、ドキュメントhttp://laravel.com/docs/5.1/blade#displaying-data検索を参照してください。