【问题标题】:Laravel Blade ( Displaying data as new line)Laravel Blade(将数据显示为新行)
【发布时间】:2018-02-19 06:28:56
【问题描述】:

所以我的表单中有一个<textarea>。用户可以输入新行或单行。因此,当用户查看文本时,它会以他/她的输入方式显示。

表格

<textarea name="jo_unit" class = 'form-control' required="required" cols = '4'></textarea>

预期输出

测试 1
测试 2
测试 3

我得到了什么

我的代码显示它

{{ nl2br(@$get['result'][0]->jo_unit_2) }}

【问题讨论】:

    标签: php laravel newline blade laravel-blade


    【解决方案1】:

    安全性:此代码允许 XSS 攻击,并且尚未准备好生产。

    使用{!! !!}:

    {!! nl2br(@$get['result'][0]->jo_unit_2) !!}
    

    【讨论】:

    • 我能问一下为什么需要使用!!,它代表什么?
    • 因为 Blade {{ }} 语句会通过 PHP 的 htmlentities 函数自动发送以防止 XSS 攻击,但 {!! !!} 不会
    【解决方案2】:

    使用

    {!! nl2br(e(@$get['result'][0]->jo_unit_2)) !!}
    

    {!! !!} 创建转义输出并允许 HTML(和 XSS 攻击)。

    要使其再次安全,您还需要使用e(),请参阅helpers documentation

    【讨论】:

      猜你喜欢
      • 2021-03-08
      • 2018-02-04
      • 2016-10-02
      • 2021-09-04
      • 2018-06-04
      • 1970-01-01
      • 2018-04-25
      • 2022-12-10
      • 2017-01-27
      相关资源
      最近更新 更多