5

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

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

我希望当我在浏览器中运行它时:Hello Parsedown

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

4

1 回答 1

5

在 laravel 5 或 5.x 中,{{ }}会将 HTML 解析为 html 实体。为了逃避 HTML 刀片已经提供了一种方式,即{!! !!}. 这将打印 html 而不是 html 实体。

所以你的答案如下

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

请参阅取自laravel 官方网站的参考资料(下) 。

显示未转义的数据

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

Hello, {!! $name !!}.
于 2015-07-15T18:11:59.853 回答