You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel框架下CKEditor4输出HTML实体标签无法正常解析问题

问题原因

你遇到的是Laravel框架默认的输出自动转义机制导致的问题:CKEditor4提交的内容本身是正常的HTML标签,但前端展示时如果使用{{ }}语法输出,Laravel会自动将<、>等HTML标签符号转义为实体字符,导致浏览器不会解析这些标签,只会直接把标签原文显示出来。

解决步骤

  1. 修改前端展示的输出语法
    找到你展示文章内容的Blade模板,把原来输出body字段的代码:
{{ $post->body }}

替换为不转义HTML的输出语法:

{!! $post->body !!}

修改后浏览器就会正常解析HTML标签,粗体、斜体、段落等样式就会生效。

  1. (可选)安全加固
    直接输出用户提交的原生HTML存在XSS注入风险,如果你需要过滤恶意脚本标签,可以安装Laravel的HTMLPurifier扩展,在输出或者存储内容时过滤危险代码,过滤后输出的写法如下:
{!! Purifier::clean($post->body) !!}
  1. (异常排查)验证存储内容是否正常
    如果修改输出语法后依然不生效,可以打开phpMyAdmin查看posts表的body字段存储的内容:
  • 如果存储的内容已经是&lt;p&gt;这类转义后的实体,说明提交环节存在额外的转义逻辑,检查是否有自定义中间件、模型修改器自动转义了输入内容,你的控制器存储逻辑本身没有问题,不需要修改。
  • 如果存储的是正常的<p><strong>xxx</strong></p>格式,就只需要修改前端输出语法即可。

内容的提问来源于stack exchange,提问作者All_Semicolons

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 22:09:04