日期:2014-05-17  浏览次数:20656 次

FCKEditor过滤html标签的解决办法

本文来自:http://laiba.tianya.cn/laiba/CommMsgs?cmm=11617&tid=2686857630450559236

???? 晚上在修改后台管理程序关于模板在线修改的部分,模板代码是用数据库存储的,编辑器使用的简化版本的fckeditor,遇到了html标签里的head和body标签被编辑器自动过滤的奇怪现象,俗话说知之为知之,不知百度之,在百度里搜索了一下找到了正确的解决方法,尝试之后证实有效。技术内容贴出来共享,如果你在做类似模板功能的时候使用fckeditor出现问题的话可以参考这里。

FCKConfig.FullPage=true/false 是否允许编辑整个HTML文件
FCKConfig.EnterMode = '' ; 去除fckeditor输入时自动加p标签属性值

如果你需要编辑模板页,默认的FCK设置是会去掉<HTML></HTML><BODY></BODY>标签,而且会给你加上<P></P>标签的,怎么办呢,只要设置一个小的地方就可以了。

在fckconfig.js配置文件里面有FCKConfig.FullPage = false ;
改为 FCKConfig.FullPage = true
如果想去掉自动添加<P>的代码就可以在这里设置

默认是
FCKConfig.EnterMode = 'p' ;??? // p | div | br
FCKConfig.ShiftEnterMode = 'br' ; // p | div | br

改成
FCKConfig.EnterMode = '' ;??? // p | div | br
FCKConfig.ShiftEnterMode = 'br' ; // p | div | br

?

?

另附文章:

fckeditor,用p替代div标签设置对齐方式

  • 因为某些原因我使用的fckeditor不能使用div标签,我会在程序里面过滤掉自动生成的所有div,于是在使用对齐方式时需要改用p,fckeditor的配置文件里没有相应的方法,后来找到源代码里面有,修改了一下果然可以。

  • 第一步:在fckconfig.js文件里查找
    FCKConfig.EnterMode = 'div' ;?
    修改成
    FCKConfig.EnterMode = 'br' ;?

    第二步:
    修改fckeditorcode_ie.js和fckeditorcode_gecko.js文件
    查找:
    FCKConfig.EnterMode=='p'?'p':'div'
    修改成
    FCKConfig.EnterMode=='p'?'p':'p'

    即无论如何都不使用div标签,这样就可以了