我已经安装了parsedown(我使用laravel 5)用于解析markdown,当我运行它时,它将markdown更改为html,但浏览器显然显示已解析的markdown,而不是应用那些特定的样式,例如,当我运行以下
{{Parsedown::instance()->text('Hello _Parsedown_!')}}
我希望当我在浏览器中运行它时:你好 Parsedown !
,但我得到以下内容:<p>Hello <em>Parsedown</em>!</p>
当我查看浏览器页面源代码时,我得到以下内容
<p>Hello <em>Parsedown</em>!</p>
有什么问题吗?
在laravel 5或5。
{{ }}
将把HTML解析为HTML实体。要逃避HTML刀片提供的方式是{!! !!}
。这将打印html而不是html实体。
所以你的答案将如下
{!! Parsedown::instance()->text('Hello _Parsedown_!') !!}
请参阅下面的参考资料,摘自laravel官方网站
显示未转义数据
默认情况下,为了防止XSS攻击,Blade的{{ }}
语句会自动通过PHP的htmlentities函数发送。如果不希望对数据进行转义,可以使用以下语法:
Hello, {!! $name !!}.