【问题标题】:What is the difference between {{ }} and {!! !!} in laravel blade files?{{ }} 和 {!! 有什么区别? !!} 在 laravel 刀片文件中?
【发布时间】:2016-01-27 07:16:50
【问题描述】:

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

【问题讨论】:

    标签: php laravel laravel-5.2 laravel-blade


    【解决方案1】:

    Blade {{ }} statements are automatically sent through PHP's htmlentities function to prevent XSS attacks.

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

    $first = "<b>Narendra Sisodia</b>";
    

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

    <b>Narendra Sisodia</b>
    

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

    纳伦德拉·西索迪亚

    【讨论】:

      【解决方案2】:

      如果您不想转义数据,请使用{!! !!},否则使用{{ }}

      【讨论】:

        【解决方案3】:

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

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

        Hello, {!! $name !!}.
        

        【讨论】:

          【解决方案4】:

          转义数据使用

          {{ $data }}
          

          如果您不希望数据被转义,请使用下面

          {!! $data !!}
          

          【讨论】:

            【解决方案5】:

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

            你可以在这里看到更多:https://laravel.com/docs/master/blade

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2020-05-12
              • 1970-01-01
              • 2021-05-20
              • 2022-01-10
              • 2015-06-26
              • 2016-10-01
              • 2017-11-08
              相关资源
              最近更新 更多