首页 > 解决方案 > Laravel 集合语法

问题描述

我正在从一本书中学习 laravel (5.5)。书上说,我安装了 laravel 集体来链接一个 css 文件,这样写: {{!! HTML::style('css/app.css') !!}}它工作正常。但是在输出中{}出现了两个空括号(因为它们没有被用作语法的一部分)。所以,我删除了它们,它仍然可以正常工作。问题是哪种语法是正确的?这个{{!! HTML::style('css/app.css') !!}} 还是{!! HTML::style('css/app.css') !!} ???

标签: laravel-5laravelcollective

解决方案


开箱即用的 Laravel 试图帮助您提高应用程序的安全性。当使用{{ $foo }}数据输出数据时,Laravel 会自动调用该htmlspecialchars()方法来防止 XSS 攻击。在某些情况下,您确实想要或需要输出 HTML,这就是 Laravel 为其创建单独语法的原因:{!! $foo !!}.

所以回答你的问题:{!! $foo !!}是正确的语法。

无关:

如果你不想使用未转义的数据语法,你可以这样写你的 CSS 链接:

<link rel="stylesheet" href="{{ asset('css/app.css') }}">

推荐阅读