{{}}和{!!之间有什么区别?!!} laravel刀片文件?

Kum*_*ran 38 php laravel laravel-5.2 laravel-blade

在laravel框架中,我们可以使用blade在html文件中添加PHP代码.
我们同时使用{{ }},并{!! !!}在Laravel的刀片文件语法.
他们之间有什么区别?

Nar*_*dia 82

Blade {{}}语句通过PHP的htmlentities函数自动发送,以防止XSS攻击.

如果您将数据从Controller传递到具有某些HTML样式的视图,例如:

$first = "<b>Narendra Sisodia</b>";
Run Code Online (Sandbox Code Playgroud)

它在Blade中被访问,{{ $first }}然后输出将是:

<b>Narendra Sisodia</b>
Run Code Online (Sandbox Code Playgroud)

但如果访问它,{!! $first !!}那么输出将是:

Narendra Sisodia


Sou*_*ose 8

如果您不希望转义数据,请使用{!! !!}else {{ }}.


Meh*_*ari 6

来自文档: https ://laravel.com/docs/5.1/blade

默认情况下,Blade {{ }}语句会自动通过PHP的htmlentities函数发送,以防止XSS攻击.如果您不希望转义数据,可以使用以下语法:

Hello, {!! $name !!}.
Run Code Online (Sandbox Code Playgroud)


小智 5

为了逃避数据使用

{{ $data }}
Run Code Online (Sandbox Code Playgroud)

如果您不想转义数据,请在下面使用

{!! $data !!}
Run Code Online (Sandbox Code Playgroud)