Laravel 5 Parsedown 将纯 html 标签返回到浏览器
Posted
技术标签:
【中文标题】Laravel 5 Parsedown 将纯 html 标签返回到浏览器【英文标题】:Laravel 5 Parsedown returning plain html tags to browser 【发布时间】:2015-10-04 22:31:37 【问题描述】:我已经安装了 parsedown(我使用 laravel 5)来解析 markdown,当我运行它时,它会将 markdown 更改为 html,但是浏览器清楚地显示了解析后的 markdown,而不是应用那些特定的样式,例如当我运行关注
Parsedown::instance()->text('Hello _Parsedown_!')
我希望当我在浏览器中运行它时: 你好解析!
但是却得到以下信息:
<p>Hello <em>Parsedown</em>!</p>
当我查看浏览器页面源时,我得到以下信息
<p>Hello <em>Parsedown</em>!</p>
可能是什么问题?
【问题讨论】:
如果您觉得我的回答有帮助,那么您可以接受。 非常感谢 Pratik Soni.. 成功了!! 【参考方案1】:在 laravel 5 或 5.x 中,
会将 HTML 解析为 html 实体。为了逃避 HTML 刀片已经提供了
!! !!
的方式。这将打印 html 而不是 html 实体。
所以你的答案如下
!! Parsedown::instance()->text('Hello _Parsedown_!') !!
请参阅取自 laravel official site 的参考资料(如下)。
显示未转义的数据
默认情况下,Blade
语句会通过 php 的 htmlentities 函数自动发送,以防止 XSS 攻击。如果您不希望您的数据被转义,您可以使用以下语法:
Hello, !! $name !!.
【讨论】:
发布答案时不要只发布一些代码,请提供一些信息,说明为什么这是问题的解决方案。 @Bogdan 非常感谢您的建议。我很抱歉。 @Bogdan 我已经按照您的描述编辑了我的答案。如果您有时间,请看一下,让我知道它是否完美。所以我可以改进它。再次感谢以上是关于Laravel 5 Parsedown 将纯 html 标签返回到浏览器的主要内容,如果未能解决你的问题,请参考以下文章
php Parsedown - Markdown_to_HTML