Contribute to this guide

指南移除格式

移除格式功能允许您快速移除任何使用内联 HTML 元素和 CSS 样式应用的文字格式,例如 基本文字样式(粗体、斜体)或 字体系列、大小和颜色。此功能不会移除块级格式(标题图像)或语义数据(链接)。

# 演示

选择您要清理的内容,然后按工具栏中的移除格式按钮 移除格式

您可以使用**移除格式**功能轻松清理文字格式。

以下是一些此功能移除的格式示例:粗体斜体下划线删除线代码下标上标字体大小字体系列

移除格式功能还会重置文字对齐。

注意:此功能不会擦除非格式化内容 - 您的链接是安全的!

此演示展示了有限的功能集。访问 功能丰富的编辑器示例,以查看更多实际操作。

# 安装

⚠️ 新的导入路径

版本 42.0.0 开始,我们更改了导入路径的格式。本指南使用新的、更短的格式。如果您使用的是旧版本的 CKEditor 5,请参考 旧版设置中的包 指南。

安装编辑器 后,将此功能添加到您的插件列表和工具栏配置中

import { ClassicEditor, RemoveFormat } from 'ckeditor5';

ClassicEditor
    .create( document.querySelector( '#editor' ), {
        plugins: [ RemoveFormat, /* ... */ ],
        toolbar: [ 'removeFormat', /* ... */ ]
    } )
    .then( /* ... */ )
    .catch( /* ... */ );

# 配置移除格式功能

此功能没有集成级别的配置。启用后,它开箱即用地与所有 核心编辑器功能 协同工作。

# 关于编辑器中内容类型的简短说明

移除格式功能旨在帮助用户清理内容中不必要的格式。每个编辑器功能都为所见即所得编辑器带来了自己的内容类型。如果您不希望不必要的格式一开始就启用,您可能需要考虑减少编辑器中启用的功能数量。

这样做可以避免用户每次从其他程序粘贴内容时都要手动移除格式的麻烦,使编辑体验更加流畅。更窄的编辑器功能集还能让您更好地控制保存到数据库中的内容,并防止意外使用您不希望存储在应用程序中的内容类型。

# 与编辑器功能集成

为了使移除格式功能与自定义内容协同工作,您需要通过在自定义 文本属性 上设置 isFormatting 属性来更新 模式

这已经针对 通用 HTML 支持 插件及其衍生插件(如 样式 插件)支持的大多数内联元素完成了。

默认情况下,不会从 链接 元素中移除格式。要从它们中移除格式,您需要创建一个 插件 来扩展模式,并告诉编辑器链接功能生成的 linkHref 文本属性是格式化属性

// A simple plugin that extends the remove format feature to consider links.
function RemoveFormatLinks( editor ) {
    // Extend the editor schema and mark the "linkHref" model attribute as formatting.
    editor.model.schema.setAttributeProperties( 'linkHref', {
        isFormatting: true
    } );
}

配置 中启用 RemoveFormatLinks 插件并运行编辑器

ClassicEditor
    .create( document.querySelector( '#editor' ), {
        plugins: [
            RemoveFormat,
            RemoveFormatLinks,
            // More plugins.
            // ...
        ],
        toolbar: [
            'removeFormat',
            // More toolbar items.
            // ...
        ]
    } )
    .then( /* ... */ )
    .catch( /* ... */ );

从现在开始,移除格式按钮也应该移除内容中的链接。 详细了解属性属性。

CKEditor 5 提供了更多功能来帮助您格式化内容。

# 通用 API

RemoveFormat 插件注册了'removeFormat' UI 按钮组件以及由 RemoveFormatCommand 实现的同名命令。

您可以使用 editor.execute() 方法执行该命令。

// Removes all the formatting in the selection.
editor.execute( 'removeFormat' );

我们建议您在开发和调试时使用官方的 CKEditor 5 检查器。它将为您提供有关编辑器状态的大量有用信息,例如内部数据结构、选择、命令等等。

# 贡献

该功能的源代码可在 GitHub 上获得,地址为 https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-remove-format