Laravel 5解析向下返回纯html标签到浏览器



我已经安装了parsedown(我使用laravel 5)用于解析markdown,当我运行它时,它将markdown更改为html,但浏览器显然显示已解析的markdown,而不是应用那些特定的样式,例如,当我运行以下

{{Parsedown::instance()->text('Hello _Parsedown_!')}}

我希望当我在浏览器中运行它时:你好 Parsedown !

,但我得到以下内容:<p>Hello <em>Parsedown</em>!</p>当我查看浏览器页面源代码时,我得到以下内容 &lt;p&gt;Hello &lt;em&gt;Parsedown&lt;/em&gt;!&lt;/p&gt; 有什么问题吗?

在laravel 5或5。{{ }}将把HTML解析为HTML实体。要逃避HTML刀片提供的方式是{!! !!}。这将打印html而不是html实体。

所以你的答案将如下

{!! Parsedown::instance()->text('Hello _Parsedown_!') !!}

请参阅下面的参考资料,摘自laravel官方网站

显示未转义数据

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

Hello, {!! $name !!}.

相关内容

  • 没有找到相关文章

最新更新