过滤 CKEditor HTML 属性
Posted
技术标签:
【中文标题】过滤 CKEditor HTML 属性【英文标题】:filtering CKEditor HTML attributes 【发布时间】:2013-03-20 17:51:31 【问题描述】:我发现了很多关于在 CKEditor 提交数据时过滤完整 html 标签的帖子(例如:剥离 SCRIPT、STYLE 等)。我需要过滤的是特定属性,但保留原始标签。
例如,如果用户提交具有 P、DIV 或 SPAN 标签的数据,我很好,但如果他们提交具有 STYLE 属性的 P、DIV 或 SPAN,我需要删除 STYLE 属性。
我似乎找不到这个,但对任何有洞察力的人开放。
【问题讨论】:
所以你在服务器上做这个?您使用的是哪种技术? 【参考方案1】:您的问题有两种解决方案:
(推荐)Advanced Content Filter (ACF)(从 4.1 开始):
CKEDITOR.replace( 'editor1',
allowedContent: 'span div p[id,class]; h1 a img hr table tr td ul ol li[*]*(*)'
);
使用 ACF,您可以精确地指定您的编辑器将接受(生成)哪些标签、哪些属性、类和样式。见more about the rules。还可以下载最新的 4.1 版本并使用官方的高级内容过滤器示例。
第二个选项是dataProcessor
(3.x, 4.x):
editor.dataProcessor.htmlFilter.addRules(
elements:
$: function( element ) // you can specify p, div etc. here instead of $ (wildcard)
if ( element.attributes.style )
console.log( 'Nuke style attr on' element );
delete element.attributes.style;
);
【讨论】:
万一其他人有这个问题,允许的元素用“;”分隔,空格或逗号不起作用。 @Kevin 对。您也可以使用object format 来避免错误。以上是关于过滤 CKEditor HTML 属性的主要内容,如果未能解决你的问题,请参考以下文章
Asp.net 中怎样使用ckedit 在网上找了很久看了很多的介绍都不行?跪求方法?