【问题标题】:Show variable on blade template在刀片模板上显示变量
【发布时间】:2020-08-21 14:33:00
【问题描述】:

我试图在 laravel 的刀片模板上以这种方式显示变量

<input type="text" name="win-phone" class="modal-input" value="{{ $info['fields']['phone'] }}">

它不起作用,但是这样

<input type="text" name="win-phone" class="modal-input" value="{!! $info['fields']['phone'] !!}">

成功了,为什么?第一种方法不是正确的 wat?

【问题讨论】:

    标签: php laravel laravel-blade


    【解决方案1】:

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

    Hello, {!! $name !!}.
    

    总之,如果以这种方式使用,则允许禁用 HTML。

    来源:https://laravel.com/docs/7.x/blade

    【讨论】:

    • 在我的情况下,{{}} 什么也没显示,但变量不包含 html
    • 如果您分享变量$info['fields']['phone'],我们就知道发生了什么。
    • 它是一个数字字符串
    【解决方案2】:

    有两种方法可以在blade 模板中打印php 变量。

    1.通过PHP的htmlspecialchars函数自动发送语句,防止XSS攻击

    {{ $your_variable }}
    

    2.如果您不希望您的数据被转义,您可以使用以下语法

    {!! $your_variable !!}
    

    【讨论】:

      猜你喜欢
      • 2014-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-04
      • 2014-09-04
      • 1970-01-01
      • 1970-01-01
      • 2019-01-15
      相关资源
      最近更新 更多