为何我在.blade模板中无法正常展示Summernote编辑器输出的HTML内容?
问题根因
Laravel Blade 模板默认的 {{ }} 输出语法会自动转义所有 HTML 标签,因此 Summernote 生成的富文本 HTML 不会被浏览器渲染,只会直接展示原始标签源码。
修复方案
把模板中输出富文本的语法替换为 Blade 原生的非转义输出语法即可:
// 原有会转义的写法 {{ $summernoteContent }} // 修改后的非转义写法 {!! $summernoteContent !!}
安全提示
- 若该富文本仅由后台可信人员编辑,直接使用上述写法即可正常渲染
- 若富文本允许普通前端用户提交,必须在内容入库前完成 XSS 过滤,避免恶意脚本注入,可使用
laravel-htmlpurifier扩展包对富文本内容做安全清洗。
内容的提问来源于stack exchange,提问作者Phoeuk Pha
相关产品推荐
相关产品推荐

