【问题标题】:Laravel 5 Parsedown returning plain html tags to browserLaravel 5 Parsedown 将纯 html 标签返回到浏览器
【发布时间】: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.. 成功了!!

标签: php html laravel markdown parsedown


【解决方案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 我已经按照您的描述编辑了我的答案。如果您有时间,请看一下,让我知道它是否完美。所以我可以改进它。再次感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-30
  • 2020-07-08
  • 2017-04-18
  • 2020-08-20
  • 1970-01-01
相关资源
最近更新 更多