如何将html标签包含在laravel flash消息中?

时间:2015-11-28 23:28:30

标签: html laravel-5.1 laravel-blade

有没有办法在flash消息中包含html标签。我有以下但是在刀片中渲染时标签会被转义?

 flash()->success('Confirmation email sent to <strong>' . $user->email . '</strong>');

1 个答案:

答案 0 :(得分:11)

您必须使用刀片的未转义语法

{!! $flashData !!}  // unescaped variable

而不是:

{{ $flashData }}  // escaped variable

默认使用转义语法,因为它会阻止行为不端的用户提供<script>代码和javascript代码作为您应用的输入。如果没有删除html标记和javascript,这可能是一个安全问题。因此,除非你100%确定它是安全的,否则我会非常小心去除数据。

另外,只需考虑一下:为什么你需要flash数据中的html?为什么你不能单独发送$user->email,并让视图弄清楚如何渲染它。将html标记保留在视图中 - 这样更清晰。

请参阅文档http://laravel.com/docs/5.1/blade#displaying-data搜索“显示未转义数据”