关于奇怪语法的Laravel文档

时间:2018-03-13 04:30:17

标签: php laravel laravel-blade

我在模板中看到了这一点:

<span class="name">{!! test() !!}</span>

请帮我向我展示一下这种语法的文档。 我搜索了一下,我不知道 Laravel 允许这种语法。

2 个答案:

答案 0 :(得分:3)

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

{!! $name !!}

也就是说,如果我将数据通过名为name的变量传递给视图并且{{ $name }}用于显示它,它会在传递时显示,因为语句是通过PHP {{1}自动发送的用于防止XSS攻击的功能。例如,

htmlspecialchars

用于返回包含名为return view('welcome')->with('name','<script>alert("Hai");</script>');

的变量中的数据的视图
name

用于显示我的数据。输出将是 enter image description here

如果我使用

<div class="title m-b-md">
    {{$name}}
</div>

显示数据,输出结果为 enter image description here

答案 1 :(得分:1)

那只是unescaped data

  

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

Hello, {!! $name !!}.