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

如何让CKEditor 5输出HTML而非Markdown?

解决CKEditor 5在Next.js中输出HTML而非Markdown的问题

要让CKEditor 5输出HTML格式,核心是移除导致输出Markdown的插件配置——CKEditor 5默认就以HTML作为输出格式,只有引入了Markdown相关插件才会输出Markdown。具体操作如下:

1. 调整CKEditor自定义构建包

你当前使用的CKEditorCustomBuild应该包含了Markdown相关插件(比如MarkdownEditing、MarkdownOutput),需要重新生成不含这些插件的构建包:

  • 若是通过CKEditor在线构建器生成的包,重新进入构建器,移除所有Markdown类插件,保留你需要的HTML格式化插件(如Bold、Italic、Underline等),下载新构建包替换项目中的旧文件。
  • 若是手动通过npm组装的构建,卸载@ckeditor/ckeditor5-markdown-gfm这类Markdown依赖,只保留HTML相关插件(如@ckeditor/ckeditor5-basic-styles、@ckeditor/ckeditor5-editor-classic等)。

2. 验证代码逻辑

现有代码无需大幅修改,构建包调整后,editor.getData()会直接返回HTML:

<CKEditor
  // @ts-ignore
  editor={CKEditorCustomBuild}
  onChange={(event: any, editor: any) => {
    const data = editor.getData();
    onChange(data); // 此时data即为HTML格式
  }}
/>

格式映射补充说明

你示例中Markdown的_name_(斜体)期望输出<u>(下划线),默认CKEditor的Italic插件会输出<em>标签。如果需要这个格式映射:

  • 安装@ckeditor/ckeditor5-underline插件并在构建中启用。
  • 可通过编辑器配置,将斜体的快捷键/按钮映射到下划线功能,或直接使用下划线按钮来生成<u>标签。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 21:52:51