3

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

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

1 回答 1

15

您将不得不使用刀片的未转义语法

{!! $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搜索“显示未转义的数据”

于 2015-11-29T00:15:40.777 回答