配置CKEditor pasteFilter以去除某些内联样式
我的利益相关者正在Drupal(8.6.13)中使用CKEditor版本4.10.1 他们有一个用例,他们经常从Google文档复制并粘贴到WYSIWYG文本区域。谷歌使用内联css属性。以下是一个示例:配置CKEditor pasteFilter以去除某些内联样式,ckeditor,Ckeditor,我的利益相关者正在Drupal(8.6.13)中使用CKEditor版本4.10.1 他们有一个用例,他们经常从Google文档复制并粘贴到WYSIWYG文本区域。谷歌使用内联css属性。以下是一个示例: <span style="font-size:36pt;font-family:Merriweather;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:n
<span style="font-size:36pt;font-family:Merriweather;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">Your Name</span></p>
然而,我想删除的只是某些css样式。例如,如果粘贴输入为
<span style="font-size:36pt;font-family:Merriweather;vertical-align:baseline;">Hello</span>
你好
然后我希望源代码能够读取
<span style="vertical-align:baseline;">Hello</span>
你好
即仅字体大小:36pt;字体系列:Merriweather代码>已删除。(我想删除任何字体大小
和字体系列
规范。)
使用pasteFilter
是否可以实现这一点?如果是,我该如何表达
编辑白名单解决方案不符合我们的验收标准,因为我的利益相关者希望保留其他指令,如粗体、斜体等。我们不希望删除所有样式或整个span
标记;我们只想删除字体大小
和字体系列
根据,您可以使用:
config.allowedContent = {
$1: {
// Use the ability to specify elements as an object.
elements: CKEDITOR.dtd,
attributes: true,
styles: true,
classes: true
}
};
config.disallowedContent = '*{font*}';
// if you want to be more specific: config.disallowedContent = 'span{font-size,font-family}';
我对它进行了测试,效果很好,你自己看看我创建的这本书。行吗config.disallowedContent='*{font*}'代码>插件是一个选项吗?你试过高级内容过滤器了吗?allowedContent:'span{vertical align};'@Pat_Morita我不确定这是否会起作用--我想允许除字体大小
和字体系列
之外的所有内容。将其添加到我的网站ckeditor配置中。它起作用了。因此,我假设您的配置中的另一个设置禁用了不允许的内容,如“CKEDITOR.config.allowedContent=true”,或者您安装了字体插件,或者。。。或或我们可以继续聊天
config.allowedContent = {
$1: {
// Use the ability to specify elements as an object.
elements: CKEDITOR.dtd,
attributes: true,
styles: true,
classes: true
}
};
config.disallowedContent = '*{font*}';
// if you want to be more specific: config.disallowedContent = 'span{font-size,font-family}';