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

CKEditor5从数据库加载内容未转义HTML,如何正常渲染?

解决CKEditor5在EJS编辑模式下显示HTML标签的问题
  • 问题核心:你用<%= event.content %>给textarea的value属性赋值时,EJS会自动转义HTML实体(把<变成&lt;),CKEditor读取到的是转义后的文本,所以直接显示标签而非解析后的富文本。
  • 修复步骤:
    1. 移除textarea的value属性,把HTML内容直接写入textarea标签内部
    2. 使用EJS的<%- %>标签输出内容(<%-不会转义HTML,<%=会转义),示例代码:
      <textarea name="content" id="editor"><%- event.content %></textarea>
      
    3. 确保CKEditor初始化时读取的是textarea内部的内容,Classic Editor默认会自动读取,无需额外配置。
  • 备选方案(如果需要动态设置):
    初始化CKEditor后,调用setData方法手动传入原始HTML内容:
    ClassicEditor
      .create(document.querySelector('#editor'))
      .then(editor => {
        // 动态设置富文本内容
        editor.setData('<%- event.content %>');
      })
      .catch(error => {
        console.error(error);
      });
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 11:55:56