Laravel 的blade模板显示有格式的内容

已注销
  • 1.1k

有一些内容我在存入数据库的时候是一些带格式的,使用富文本编辑器得到的,比如文章的正文:

<p><span style="color: rgb(226, 139, 65);">Sorry,本站已暂停访问,报名请联系xxxx</span><br></p><p style="margin-left: 40px;"><span style="color: rgb(65, 140, 175);">或访问其他站点!</span></p><p style="margin-left: 80px;"><span style="color: rgb(32, 147, 97);">谢谢~~</span></p>

现在要取出来进行展示,可是在页面上使用{{ $content }}输出的时候,没有按照样式的输出,而是这样的:

clipboard.png

文档描述:

默认情况下,Blade 的 {{ }} 表达式会自动通过 PHP 的 htmlentities 函数进行处理,以防止 XSS 攻击。如果你不希望自己的数据被转义,请使用如下语法:

Hello, {!! $name !!}.

我将{{ $content }}换为了{!! $content !!},结果还是如上所示。

初学中,请问怎么解决呢?

回复
阅读 5.3k
1 个回答
✓ 已被采纳

laravel 在输出数据的时候有转义和不转义两者,也就是{{$name}}和{!! $name !!}
例子如下:

clipboard.png

clipboard.png
输出结果为

clipboard.png

反之:

clipboard.png

clipboard.png

少看东西了,楼主需要的是将html实体转化成字符。在把数据取出数据库后用
html_entity_decode()函数转化一下即可
clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏