【问题标题】:How to render HTML from string?如何从字符串呈现 HTML?
【发布时间】:2019-07-22 01:16:53
【问题描述】:

我在 Laravel 控制器中有一个 PHP 变量:$html= '<img src="/example.png">'

然后在视图刀片中,我将其显示为{{$html}}

但它不会呈现为 html 元素。它在浏览器中显示为类似<img src="/example.png"> 的文本/字符串。

【问题讨论】:

    标签: php html laravel laravel-blade


    【解决方案1】:

    你应该使用:

    {!! $html !!}
    

    检查this answer,它也记录在official documentation,显示未转义数据部分

    【讨论】:

    • 任何阅读此内容的人,请记住,如果字符串的任何部分来自用户输入,则 未转义 表示危险
    【解决方案2】:

    显示未转义的数据

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

    Hello, {!! $name !!}.
    

    参考。 https://laravel.com/docs/5.1/blade#displaying-data

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-11
      • 2021-02-12
      • 2018-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多