【问题标题】:Blade: escaping text and allowing new linesBlade:转义文本并允许换行
【发布时间】:2015-03-17 14:41:51
【问题描述】:

我在其中一页上显示了用户输入的文本。不过,我想允许换行。如何显示文本,使其转义并且允许换行

我使用了nl2br() 和 Blade 的三方括号 {{{$text}}},但是,显然,三方括号也逃脱了 <br/> 标记。

有没有办法使用 Blade 结合转义和 HTML 的新行?

谢谢。

【问题讨论】:

    标签: php laravel escaping blade


    【解决方案1】:

    您可以在 blade 文件中使用它

    {!! nl2br(e($onlineSetting->instruction)) !!}

    【讨论】:

      【解决方案2】:

      你可以用这个

      {!! nl2br(e($text)) !!}
      

      【讨论】:

        【解决方案3】:

        您可以先进行转义,使用e(),然后应用nl2br()

        {{ nl2br(e($text)) }}
        

        e() 是 Blade 在编译三方括号时使用的函数

        【讨论】:

        • 对于 Laravel 5,使用这个:{!! nl2br(e($text)) !!}
        • @MohitMamoria,这到底是做什么的? {{ ... }} 有什么问题?
        • @OliverCooper 我已经链接了下面的官方文档。基本上,默认方式通过 htmlspecialchars 在 {{}} 之间运行任何内容,以防止 XSS 攻击。 {!! !!} 绕过此功能。所以必须小心使用。 laravel.com/docs/5.7/blade 该部分标题为显示未转义的数据
        猜你喜欢
        • 2014-02-10
        • 1970-01-01
        • 2015-08-29
        • 2010-12-26
        • 1970-01-01
        • 2014-10-18
        • 1970-01-01
        • 1970-01-01
        • 2021-05-25
        相关资源
        最近更新 更多