后台日志编辑默认的编辑器貌似不支持从word粘贴功能,无奈换上了最新的kindeditor3.5.1,过滤功能很强大。赞!不过还是剩下一些没用的<span></span>。吃流量,不环保。自己动手增强了一把,做法如下,感兴趣的也可以照此自己改改这一块(改之前务必备份原来的文件!!!):
1、kindeditor.js(3.5.1版)的3236行,“//add start”和“//add end”之间是我加的代码。
KE.plugin['wordpaste'] = {
click : function(id) {
KE.util.selection(id);
this.dialog = new KE.dialog({
id : id,
cmd : 'wordpaste',
file : 'wordpaste.html',
width : 450,
height : 300,
loadingMode : true,
title : KE.lang['wordpaste'],
yesButton : KE.lang['yes'],
noButton : KE.lang['no']
});
this.dialog.show();
},
exec : function(id) {
var dialogDoc = KE.util.getIframeDoc(this.dialog.iframe);
var wordIframe = KE.$('wordIframe', dialogDoc);
var str = KE.util.getIframeDoc(wordIframe).body.innerHTML;
str = str.replace(/<meta(\n|.)*?>/ig, "");
str = str.replace(/<!(\n|.)*?>/ig, "");
str = str.replace(/<style[^>]*>(\n|.)*?<\/style>/ig, "");
str = str.replace(/<script[^>]*>(\n|.)*?<\/script>/ig, "");
str = str.replace(/<w:[^>]+>(\n|.)*?<\/w:[^>]+>/ig, "");
str = str.replace(/<xml>(\n|.)*?<\/xml>/ig, "");
str = str.replace(/\r\n|\n|\r/ig, "");
//add start
str = str.replace(/font-family:[^\;\"\']+;/ig,"");
str = str.replace(/style=\"\s*\"/ig,"");
str = str.replace(/<span\s+>/ig,"<span>");
//add end
str = KE.util.execGetHtmlHooks(id, str);
str = KE.format.getHtml(str, KE.g[id].htmlTags, KE.g[id].urlType);
//add start
str = str.replace(/font-size:small;/ig,"");
str = str.replace(/<p\s+style=\"[^\"]*\"\s*>/ig,"<p class='prg'>");
str = str.replace(/style=\"font-size:12pt;\"/ig,"class='s5'");
str = str.replace(/style=\"font-size:14pt;\"/ig,"class='ss4'");
str = str.replace(/style=\"font-size:15pt;\"/ig,"class='s4'");
str = str.replace(/style=\"font-size:16pt;\"/ig,"class='ss3'");
str = str.replace(/style=\"font-size:18pt;\"/ig,"class='s3'");
str = str.replace(/style=\"\s*\"/ig,"");
str = str.replace(/<span\s+>/ig,"<span>");
var pat = new RegExp("<\s*span|</span>","ig");//remove needless <span></span> tags
var rst,tmp='',idx=0,cnt=0;
while ((rst = pat.exec(str)) != null){
if(rst.index>0){
tmp += str.substring(idx,rst.index);
}
if (rst[0]=='</span>'){
if(cnt>0){
--cnt;
idx=rst.index;
}else{
idx=rst.lastIndex;
}
}else{
if(str.charAt(rst.lastIndex)=='>'){
idx=rst.lastIndex+1;
}else{
idx=rst.index;
++cnt;
}
}
}
str=tmp;
//add end
KE.util.insertHtml(id, str);
this.dialog.hide();
KE.util.focus(id);
}
};
2、在kindeditor\skins\default.css的最后一行加入:
.prg{font-size:1em;text-indent:2em;}.s5{font-size:1em;}.ss4{font-size:1.2em;}.s4{font-size:1.25em;}.ss3{font-size:1.4em;}.s3{font-size:1.5em;}
3、content\templates\你的模板目录\main.css里同样加入:
.prg{font-size:1em;text-indent:2em;}.s5{font-size:1em;}.ss4{font-size:1.2em;}.s4{font-size:1.25em;}.ss3{font-size:1.4em;}.s3{font-size:1.5em;}
4、使用google closure压缩kindeditor.js
java -jar compiler.jar --js admin\kindeditor\kindeditor.js --js_output_file admin\kindeditor\kindeditor-min.js
分享到:
相关推荐
1. 在KindEditor的插件`wordpaste`中添加代码,针对从Word粘贴过来的内容进行额外的处理。 2. 使用正则表达式移除特定的HTML标签,如`<meta>`、`<!`、`<style>`、`<script>`等。 3. 通过备份原有的文件,确保在修改...
但问题在于,直接从Visual Studio(VS)将C#代码粘贴到Word文档时,常常会出现乱码和特殊字符显示异常的现象。这些乱码不仅影响文档的美观,也对代码的可读性和沟通效率造成了负面影响。 为了解决这一问题,一个名...
当用户将Word文档中的内容直接复制粘贴到KindEditor编辑器时,往往会遇到一个问题:Word文档中原有的格式(如字体、字号、颜色、段落间距等)会被一同粘贴过来,这不仅会破坏编辑器中原本的排版风格,还可能导致HTML...
因客户要求word复制粘贴到富文本编辑器保留格式,不然发文章内容太多调整费时间,找了很久,Html富文本编辑器tinymce_powerpaste-master,word复制粘贴保留格式,免费版含示例代码,简单上手,亲测效果一级棒,困扰...
标题中的“VS粘贴word时中文乱码修复工具v1”指的是一个专门针对Visual Studio(VS)中出现的中文乱码问题的修复程序。在开发过程中,开发者有时会从Word文档复制文本到VS中,如果处理不当,可能会导致中文字符显示...
当复制VS2010中带有中文字符的代码到Office(Word, Excel, PowerPoint, Outlook)时, 在中文字符后面会被添加一到三个乱码。比如复制"中文字符",粘贴到word就会变成(中D文?字Á?符¤?)。 通过黑暗执行绪的一篇...
在Word中,图文粘贴指的是将包含图片和文本的组合内容从一个位置复制到另一个位置,如从网页、PDF或另一份Word文档中复制到当前编辑的文档中。这个过程需要考虑图像质量、文本格式和布局的保持,以实现最佳的视觉...
总结一下,这个“富文本编辑器支持从word复制粘贴保留格式和图片的插件源码”提供了TinyMCE的PowerPaste插件,使得用户在网页上编辑内容时可以方便地从Word文档中复制粘贴,保留原有的格式和图片。通过使用和自定义...
在Word中处理从网页复制的内容时,经常遇到一个问题:这些内容会带有HTML格式,包括不必要的表格、边框、段落设置等。这使得在Word中编辑时变得复杂,需要花费额外的时间来清除这些格式。然而,实际上,Word自身提供...
在Word中插入代码并实现与IDE(集成开发环境)类似的显示效果,主要是通过设置行号和应用代码高亮样式来实现。以下将详细介绍如何操作。 首先,为了在Word中显示代码行号,你可以采取以下步骤: 1. **插入代码样式...
在处理Microsoft Word和Excel文档时,常常会遇到一个问题:这些应用程序在复制粘贴内容到其他地方,如网页或文本编辑器时,会携带大量冗余的格式化代码。这些代码通常包括HTML标签,如`<SPAN>`、`<TABLE>`等,以及与...
代码参数配置:tinymce.init({powerpaste_word_import: 'propmt',powerpaste_allow_local_images: true,paste_data_images: true,powerpaste_html_import: 'propmt',plugins:['找到paste替换成powerpaste']})
这个插件是专门为了解决一个常见问题而设计的:从Microsoft Word等应用程序中复制并粘贴富文本到TinyMCE编辑器中。 通常,直接从Word复制文本到网页编辑器会带来格式丢失或混乱的问题,因为Word和HTML之间的格式...
本压缩包文件“插件powerpaste实现word直接粘贴富文本,同时上传图片.rar”是针对TinyMCE的一个增强插件——PowerPaste,专门解决从Microsoft Word中复制内容到编辑器时保持格式和图像的问题。 PowerPaste插件的核心...
标题中的“在FCK下实现自动过滤Word格式”指的是在使用FCKeditor这款富文本编辑器时,如何处理用户从Microsoft Word中复制粘贴的内容,因为Word格式在Web页面上通常不能直接显示,需要进行转换或者过滤。FCKeditor是...
市面上唯一一本基于EXT.NET框架的开发指南,非常值得学习;而且这是word文档类型,代码可直接复制粘贴,学习特别方便;
开发人员在写文档的时候,经常会在微软的Office办公软件的Word中粘贴一些代码在上面,大家也知道,代码在Word里显示不是很美观,有了这个代码高亮工具,进行格式化后就会很美观。支持Office的各个版本。
【fckeditor 精简word拷贝代码插件】是一个专为fckeditor设计的扩展工具,主要用于优化用户从Microsoft Word中复制文本到fckeditor时的体验。在日常工作中,人们经常需要将Word文档中的内容粘贴到网页编辑器中,但...
单词中粘贴高亮的matlab代码 统一访问世界上最好的社区驱动的备忘单存储库。...可以直接从代码编辑器中使用,而无需打开浏览器并且不切换您的思维环境。 支持一种特殊模式(隐身模式),在该模式下可以完全不可见地使
1、先注册控件 ... 卸载命令:regsvr32.exe /u 文件夹路径\UpToFtp.ocx 2、打开 测试\_examples\simpleDemo.html 修改ftp地址: 支持复制粘贴word图片的文本编辑器\测试\_src\plugins\wordimage.js