现在将word文档中的内容粘贴到ckeditor(CKEditor3.6.2)中好像默认了要去除内容样式,只保留了格式。。如何才能设置为保留样式呢?方法如下:
打开 \editor\plugins\pastefromword\filter\default.js
找到文件尾大概有这么一句代码
- ;CKEDITOR.cleanWord=function(h,i){if
- (CKEDITOR.env.gecko)h=h.replace(/(<!--\[if
- [^<]*?\])-->([\S\s]*?)<!--(\[endif\]--
- >)/gi,'$1$2$3');var j=new g
- (),k=j.dataFilter;k.addRules
- (CKEDITOR.plugins.pastefromword.getRules
- (i));i.fire('beforeCleanWord',{filter:k});try
- {h=j.toHtml(h,false);}catch(l){alert
- (i.lang.pastefromword.error);}h=h.replace
- (/cke:.*?".*?"/g,'');h=h.replace
- (/style=""/g,'');h=h.replace
- (/<span>/g,'');return h;};})();
;CKEDITOR.cleanWord=function(h,i){if (CKEDITOR.env.gecko)h=h.replace(/(<!--\[if [^<]*?\])-->([\S\s]*?)<!--(\[endif\]-- >)/gi,'$1$2$3');var j=new g (),k=j.dataFilter;k.addRules (CKEDITOR.plugins.pastefromword.getRules (i));i.fire('beforeCleanWord',{filter:k});try {h=j.toHtml(h,false);}catch(l){alert (i.lang.pastefromword.error);}h=h.replace (/cke:.*?".*?"/g,'');h=h.replace (/style=""/g,'');h=h.replace (/<span>/g,'');return h;};})();
这段JS代码正是清除word里的格式的作用,我们可以 修改为
- ;CKEDITOR.cleanWord=function(h,i){return h;if
- (CKEDITOR.env.gecko)h=h.replace(/(<!--\[if
- [^<]*?\])-->([\S\s]*?)<!--(\[endif\]--
- >)/gi,'$1$2$3');var j=new g
- (),k=j.dataFilter;k.addRules
- (CKEDITOR.plugins.pastefromword.getRules
- (i));i.fire('beforeCleanWord',{filter:k});try
- {h=j.toHtml(h,false);}catch(l){alert
- (i.lang.pastefromword.error);}h=h.replace
- (/cke:.*?".*?"/g,'');h=h.replace
- (/style=""/g,'');h=h.replace
- (/<span>/g,'');return h;};})();
;CKEDITOR.cleanWord=function(h,i){return h;if (CKEDITOR.env.gecko)h=h.replace(/(<!--\[if [^<]*?\])-->([\S\s]*?)<!--(\[endif\]-- >)/gi,'$1$2$3');var j=new g (),k=j.dataFilter;k.addRules (CKEDITOR.plugins.pastefromword.getRules (i));i.fire('beforeCleanWord',{filter:k});try {h=j.toHtml(h,false);}catch(l){alert (i.lang.pastefromword.error);}h=h.replace (/cke:.*?".*?"/g,'');h=h.replace (/style=""/g,'');h=h.replace (/<span>/g,'');return h;};})();
已经测试过了,完全正确!
---------------------------------------------------------------------------------------------------------------------------------
就是加上reutrn h;就ok了。