经典案例
  • 铜仁市发展和改革委员会网站
  • 铜仁市科技创新服务平台
  • 铜仁市科学技术局

关于ckeditor网站编辑器内容过滤配置——希望对您有帮助

发布于:2015-06-17 23:41来源:未知 作者:admin 点击:
    ckeditor前身fckeditor,是国际上资质最老的网页编辑器,而且一直保留开源免费的政策,所以我也一直比较喜欢使用和研究,根据了解,不管是自动生成的代码质量、自由配置度、功能扩展性、浏览器兼容性方面都是非常好的。
    
    这里武陵天下网络就大家经常遇到的编辑器源代码编辑模式时,很多内容标签会被编辑器自动过滤这个问题做下解释,其实ckeditor有个allowedContent属性,可以通过config.js配置,但是默认是开启的,主要功能是规定编辑内容允许的标签、标签的属性(attributes)、标签的样式(style)以及可以使用的类(class).如果要禁用内容过滤,很简单,下面一句话就可以搞定:在配置config.js文件增加一条配置语句config.allowedContent=true;

    但是可能你还会想深入了解allowedContent是怎么控制过滤功能的,比如如何设置允许哪些标签,只允许带哪些属性的标签、过滤什么标签、过滤什么属性、过滤什么样式等。其删除的规则很轻大,下面武陵天下网站建设举个配置示例:
CKEDITOR.replace( 'editor2', {
	allowedContent:
		'h1 h2 h3 p blockquote strong em;' +
		'a[!href];' +
		'img(left,right)[!src,alt,width,height];' +
		'table tr th td caption;' +
		'span{!font-family};' +'
		'span{!color};' +
		'span(!marker);' +
		'del ins'
} );
备注说明:

h1 h2 h3 p blockquote strong em - 编辑器允许这些标签,但是任何属性都会被过滤;
a[!href] -  href属性对于a是必须的,也就是如果a没有href的标签也会被过滤,而且其他属性会被过滤;
img(left,right)[!src,alt,width,height] - src属性是img标签必须的altwidthheightcode>属性可以有,但class属性必须是left或者right
table tr th td caption - 表示这些标签都是允许的
span{!font-family}span{!color}span(!marker) - 表示span只接受包含font-family的style或者包含color的style,还有就是包含class=marker的span
del ins - 表示以上标签都被接受,其他都会被过滤。

    从这些规则可以看出,ckeditr过滤是非常强大的,里面的水实在太深了,欢迎有兴趣的程序员一起探讨和研究。





附另一篇

解决FCKeditor在线文本编辑器自动过滤HTML标签的方法

找到FCKeditor在线文件编辑器配置文件fckconfig.js,打开该文件,并找到如下代码:

    FCKConfig.FullPage = false ;  //是否允许编辑整个HTML文件,还是仅允许编辑BODY间的内容(false为不允许,true为允许)

    将其改为如下代码后保存即可:

    FCKConfig.FullPage = true ;  //是否允许编辑整个HTML文件,还是仅允许编辑BODY间的内容(false为不允许,true为允许)

铜仁做网站铜仁市做网站

------分隔线----------------------------
------分隔线----------------------------