`
01404421
  • 浏览: 228658 次
  • 性别: Icon_minigender_1
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

在fck下实现自动过滤word格式

阅读更多

在我做过的很多个项目中都使用到了FCK编辑器,有个问题一直困扰着我,就是很多人喜欢直接从Word中复制内容粘贴到FCK中,这样也复制了Word中的格式,也就产生了大量的垃圾代码,这些代码还经常影响到了页面的显示,今天下午终于狠下心来把这个问题解决了。从此从Word粘贴内容再也不会提示是否清理格式而是自动清除格式。

     FCK对IE浏览器的操作在这个文件中:fcKeditor/editor/js/fckeditorcode_ie.js。可以用编辑工具打开,其中代码非常多,第33行就是对word格式的检测。源代码中 if(FCKConfig.AutoDetectPasteFromWord&&A.length>0){var B=/<\w[^>]*(( class="?MsoNormal"?)|(="mso-))/gi;if (B.test(A)){......} 就是自动检测文字里是否包含word的标签,而我们的修改就是在就在最后一个大括号里添加代码。变量A就是粘贴板里的内容,B.test(A)就是检测是否是从Word粘贴过来的,我们用var D=A,然后在对D进行过滤, 最后把过滤后的数据插回到输入框,就是 result=this.InsertHtml(D); 

具体的过滤代码FCK中也有非常好的例子,过滤代码可以在fcKeditor/editor/dialog/fck_paste.html中找到,在185行方法:function CleanWord( oNode, bIgnoreFont, bRemoveStyles ),第一个参数为要处理内容所在的对象,bIgnoreFont和bRemoveStyles 分别为是否清除Font和Style代码。

找到了清除的方法,我们可以复制这个方法到fcKeditor/editor/js/fckeditorcode_ie.js中,为了避免出错,可以把此方法原样不动的复制到fckeditorcode_ie.js的最上面,在做下小改动:

原方法第一句为:

var html = oNode.innerHTML ;

为获取要清除的内容

 

我们修改为:

var html = oNode;

 这样我们就可以直接传入要清除的内容了

又回到B.tset(A)后的大括号,里面全部代码删掉,如果有兴趣可以看一下,是弹出那个是否要清除格式的代码。大括号里内容可以这样写:

var D=CleanWord(A,true,true);

result=this.InsertHtml(D);

return false;

 

这样就完成了。

注意:CleanWord方法中大家仍可以自己设置是否清除Font和Style。

后面的return false;作用是停止粘贴,如果不中止这个操作,FCK中就会出现一个清除掉格式的内容和一个未清除格式的内容,呵呵,有兴趣可以试试。

祝各位修改顺利,有问题可以交流。

 

如果想偷懒的话,直接可以下载我修改好的文件覆盖掉你自己的就OK了,第一个附件为:fcKeditor/editor/js/fckeditorcode_ie.js

 第二个附件是网友给我推荐修改后在火狐下可以自动去掉格式的fcKeditor/editor/js/fckeditorcode_gecko.js,我没有测试,各位有兴趣可以研究一下,试用结果可以给我留言交流,谢谢

9
0
分享到:
评论
7 楼 lab7202727 2013-08-19  
火狐不能用啊,楼主,不知道怎么改了
6 楼 fonkyjon 2011-09-27  

请firefox能用的版本。。。博主提供的firefox下的没用。。。
5 楼 leehongxiang 2011-04-20  
为什么我下载下来的覆盖掉我的,结果没什么反映?
4 楼 xurichusheng 2010-08-03  
FCK_IS_CUSTOM_DOMAIN 未定义
3 楼 01404421 2010-06-23  
zxsy007x 写道
老兄,火狐不行

因为我只修改了ie的对应js代码,上次有个兄弟也问我火狐中怎么弄,后来他自己好像解决了,你在网上搜一下,他在javaeye写了一个文章,地址我记不清了
2 楼 zxsy007x 2010-06-23  
老兄,火狐不行
1 楼 faye0412 2009-12-03  
兄弟啊,感谢啊,呵呵

相关推荐

    FCK编辑器漏洞综合利用工具

    FCK编辑器是一款广泛应用于网站内容管理系统的开源富文本编辑器,它允许用户在网页上进行类似Word的文本编辑操作。然而,就像任何其他软件一样,FCK编辑器也存在安全漏洞,这些漏洞可能被恶意攻击者利用来进行渗透...

    ASP.NET FCK文本编辑器

    ASP.NET FCK文本编辑器是一款在ASP.NET平台上广泛使用的富文本编辑器,它极大地扩展了网页表单中的文本输入功能。这款编辑器以其强大的特性,如支持Word文档导入、插入图片、理科公式以及特殊符号和QQ表情,为网站...

    FCK在线编辑器 简单实用的编辑工具

    在.NET环境中,FCKEditor通常通过ASP.NET来使用,它可以被嵌入到Web表单中,为用户提供类似Word的富文本编辑体验。用户可以通过这个编辑器进行文字格式化、插入图片、超链接、表格等操作,极大地提高了网页内容编辑...

    FCK 2.6.4 精简版

    FCKeditor是一款非常知名的开源富文本编辑器,广泛应用于网页内容编辑和管理,它允许用户在网页上进行类似Word的文本编辑操作,如字体设置、段落格式化、插入图片和链接等。 FCKeditor 2.6.4是该编辑器的一个特定...

    FCK jsp应用实例

    **FCK编辑器在JSP中的应用实例** FCKeditor是一款知名的开源富文本编辑器,它为网页开发者提供了在浏览器端进行文字编辑的功能,支持多种格式的文本、图像、链接等元素的插入与编辑。本实例主要探讨如何将FCKeditor...

    FCK editor 使用实例代码

    你可以在`fckToolbarButtons.js`和`fck_config.js`中配置工具栏,或者通过`FCKeditorAPI`接口在运行时动态操作编辑器。 7. **图片上传与管理** FCKeditor提供了内置的图片上传功能,用户可以直接在编辑器中上传...

    FCK文本编辑器结合项目配置使用.zip

    FCK文本编辑器是一款开源的在线富文本编辑器,它为Web应用提供了强大的文本格式化功能,用户可以在浏览器端直接编辑、格式化文本,类似于桌面应用程序中的Word编辑体验。FCKeditor广泛应用于论坛、博客、CMS(内容...

    JEECG Online Coding开发手册v3.6.pdf

    - 常见的校验方法包括但不限于:必填项检查、长度限制、格式验证(如邮箱格式、电话号码格式)等。 #### 2. 一对多智能表单 [Online 表单开发] - **一对多表单**: - 创建一对多表单需要先创建主表,然后再创建...

    JEECG Online Coding开发手册v3.6

    在Word模板与FCK编辑器结合使用的过程中,可以拷贝Word模板到FCK编辑器并提交激活,查看最终表单页面。 知识点四:表单字段校验方法 在表单开发中,表单字段校验是非常重要的环节,以确保用户输入的数据的有效性和...

    fckedit 编辑器 实例

    FCKeditor是一款开源的Web富文本编辑器,它允许用户在网页上创建和编辑类似Word的文档内容。这款编辑器以其强大的功能、易用性和跨平台特性,在Web开发中得到了广泛应用。在这个“fckedit编辑器实例”中,我们有一个...

Global site tag (gtag.js) - Google Analytics