var str = KE.util.getIframeDoc(wordIframe).body.innerHTML;
//格式化
str = str.replace(/(<link(?:\s+[^>]*?)?)\s+href\s*=\s*(["']?)\s*file:\/\/.+?\s*\2((?:\s+[^>]*?)?\s*\/?>)/ig, '');
//区块标签清理
str = str.replace(/<!--[\s\S]*?-->|<!(--)?\[[\s\S]+?\](--)?>|<style(\s+[^>]*?)?>[\s\S]*?<\/style>/ig, '');
str = str.replace(/<\/?\w+:[^>]*>/ig, '');
str = str.replace(/<\/?(span|a|img)(\s+[^>]*?)?>/ig,'');
//属性清理
str = str.replace(/(<\w+(?:\s+[^>]*?)?)\s+class\s*=\s*(["']?)\s*mso.+?\s*\2((?:\s+[^>]*?)?\s*\/?>)/ig, "$1$3");//删除所有mso开头的样式
str = str.replace(/(<\w+(?:\s+[^>]*?)?)\s+lang\s*=\s*(["']?)\s*.+?\s*\2((?:\s+[^>]*?)?\s*\/?>)/ig, "$1$3");//删除lang属性
str = str.replace(/(<\w+(?:\s+[^>]*?)?)\s+align\s*=\s*(["']?)\s*left\s*\2((?:\s+[^>]*?)?\s*\/?>)/ig, "$1$3");//取消align=left
//样式清理
str = str.replace(/<\w+(?:\s+[^>]*?)?(\s+style\s*=\s*(["']?)\s*(.*?)\s*\2)(?:\s+[^>]*?)?\s*\/?>/ig,function(all,attr,p,styles){
styles=KE.util.trim(styles.replace(/\s*(mso-[^:]+:.+?|margin\s*:\s*0cm 0cm 0pt\s*|(text-align|font-variant|line-height)\s*:\s*.+?)(;|$)\s*/ig,''));
return all.replace(attr,true?'':styles?' style="'+styles+'"':'');
});
实际项目中大多数客户喜欢从Word里拷贝数据,建议加个参数,控制 KE.util.execCommand(id, 'paste', null); 数据粘贴进来后,默认是否清理Word,现在很多都这样如:FCKeditor,TinyMCE ,xhEditor