首页 > 其他分享 >帝国CMS 7.5编辑器从WORD中粘贴过来无法保留格式和图片的解决办法

帝国CMS 7.5编辑器从WORD中粘贴过来无法保留格式和图片的解决办法

时间:2023-09-16 12:11:44浏览次数:40  
标签:WORD CKEDITOR e5% CMS replace pastefromword 7.5 return config

 

1.配置过滤js文件

 

首先打开  \e\admin\ecmseditor\infoeditor\plugins\pastefromword\filter\default.js  在文件的最后部分又如下代码(修改前的代码),也可以搜索CKEDITOR.cleanWord进行定位。

 

修改前:

 

CKEDITOR.cleanWord = function (a, c) {

        CKEDITOR.env.gecko && (a = a.replace(/(<\!--\[if[^<]*?\])--\>([\S\s]*?)<\!--(\[endif\]--\>)/gi, "$1$2$3")); CKEDITOR.env.webkit &&

    (a = a.replace(/(class="MsoListParagraph[^>]+><\!--\[if !supportLists\]--\>)([^<]+<span[^<]+<\/span>)(<\!--\[endif\]--\>)/gi, "$1<span>$2</span>$3")); var b = new G, f = b.dataFilter; f.addRules(CKEDITOR.plugins.pastefromword.getRules(c, f)); c.fire("beforeCleanWord", { filter: f }); try { a = b.toHtml(a) } catch (d) { alert(c.lang.pastefromword.error) } a = a.replace(/cke:.*?".*?"/g, ""); a = a.replace(/style=""/g, ""); return a = a.replace(/<span>/g, "")

    }

})();

修改后的

 

CKEDITOR.cleanWord = function (a, c) {

        return a; CKEDITOR.env.gecko && (a = a.replace(/(<\!--\[if[^<]*?\])--\>([\S\s]*?)<\!--(\[endif\]--\>)/gi, "$1$2$3")); CKEDITOR.env.webkit &&

    (a = a.replace(/(class="MsoListParagraph[^>]+><\!--\[if !supportLists\]--\>)([^<]+<span[^<]+<\/span>)(<\!--\[endif\]--\>)/gi, "$1<span>$2</span>$3"));

var b = new G, f = b.dataFilter; f.addRules(CKEDITOR.plugins.pastefromword.getRules(c, f)); c.fire("beforeCleanWord", { filter: f });

try { a = b.toHtml(a) } catch (d) { alert(c.lang.pastefromword.error) }

a = a.replace(/cke:.*?".*?"/g, ""); a = a.replace(/style=""/g, "");

a = a.replace(/<span>/g, ""); return a;}

})();

即在开始和结尾加上 return a;另网上有讲解3.X版本的word样式保留解答,那个版本的参数是h,所以是return h;(有兴趣的百度吧,很好找)

 

 2.配置config文件

 

\e\admin\ecmseditor\infoeditor\config.js

 

\e\data\ecmseditor\infoeditor\config.js

 

搜索:

 

config.allowedContent = true;

//复制word内容后,格式是保留的,但是样式没有保留,只有加了后才会保留!!!

 

增加如下配置:

 

//保证word导入格式

config.pasteFromWordRemoveFontStyles = false;

config.pasteFromWordRemoveStyles = false;

//是否强制复制来的内容去除格式

config.forcePasteAsPlainText =false; //不去除

 

完成,验证通过。

 

可以复制WORD格式,样式、表格、图片占位(图片需要重新上传)。

 

参考文章:http://blog.ncmem.com/wordpress/2023/09/16/%e5%b8%9d%e5%9b%bdcms-7-5%e7%bc%96%e8%be%91%e5%99%a8%e4%bb%8eword%e4%b8%ad%e7%b2%98%e8%b4%b4%e8%bf%87%e6%9d%a5%e6%97%a0%e6%b3%95%e4%bf%9d%e7%95%99%e6%a0%bc%e5%bc%8f%e5%92%8c%e5%9b%be%e7%89%87%e7%9a%84/

欢迎入群一起讨论

 

 

标签:WORD,CKEDITOR,e5%,CMS,replace,pastefromword,7.5,return,config
From: https://www.cnblogs.com/songsu/p/17706570.html

相关文章

  • 帝国CMS导入Word文档
    帝国CMS导入Word文档——轻松实现网站内容批量编辑在当前信息爆炸的时代,网站是企业展示自身形象和产品的窗口,常常需要进行内容的更新和修改。而对于那些内容较多、更新频繁的网站来说,每次手动修改都会耗费大量的时间和精力。帝国CMS导入Word文档的功能应运而生,为网站管理员提供了......
  • UEditor的word图片转存-Electron篇
    electorn是用nodejs写桌面端应用,详细的可从官方文档上获得:Electron文档完整的应用地址为:Word-Image-Handler在这里需要实现如下几点:1.在子进程中跑nodejs服务2.实现自动更新3.可唤起Nodejs服务因为,我这里需要跑一个nodejs应用,跑在子进程中,直接上一个大神的项目地址:Electro......
  • [ARC122E] Increasing LCMs
    [ARC122E]IncreasingLCMsAtcoder:[ARC122E]IncreasingLCMs洛谷:[ARC122E]IncreasingLCMsSolution应该意识到这题的核心思想在于构造,想办法将原问题不断划分为子问题。此题策略的证明不算太难,但以我目前的水平肯定不可能靠严密的证明做出这道题。猜,直接把满足条件的数放......
  • word安装(ppt、excel),以及word的常用设置
    一、安装word(ppt、excel)0、关闭电脑的所有杀毒软件等到激活的时候,注意断开网络!!!一般,白嫖的时候,激活都要记得断网,杀毒软件是从下载就得关闭了!1、卸载卸载:把电脑所有和办公office相关的软件卸载了,比如:word、ppt、excel、onenote、outlook等等[具体参考下图],注意还有wps也要一起卸载......
  • Navicat连接Mysql数据显示2059 - authentication plugin ‘caching_sha2_password‘的
    安装Mysql8.0,使用navicat登录时显示如下错误提示 错误原因:MySQL新版本(8以上版本)的用户登录账户加密方式是【caching_sha2_password】,Navicat不支持这种用户登录账户加密方式。解决办法:1.打开MySQL命令行客户端 2.输入登录密码登录,查看加密方式,命令:showvariableslike'd......
  • UEditor的word图片转存-UEditor篇
    在UEditor中需要做两件事,第一,在一开始标记Img,为每一个需要转存的图片设置一个UUID,得到本地地址和UUID,第二,在上传结束后,根据UUID找到img元素,替换属性src1.标记imgwordimage插件的inputRule中会对输入的数据流进行处理,这里默认会把src是本地的img转成一张图片(提示使用wordimage工......
  • CKEditor从word粘贴问题
    在ckeditor/config.js的CKEDITOR.editorConfig=function(config){}函数中添加如下配置//是否强制复制来的内容去除格式plugins/pastetext/plugin.jsconfig.forcePasteAsPlainText=false//不去除//是否使用等标签修饰或者代替从word文档中粘贴过来的内容plugins/paste......
  • 「乱搞」用 Python 处理 word 文档
    目录写在前面代码写在最后写在前面大家好啊,我是过气up主Luckyblock,今天给大家来点想看的东西。简单记录如何使用Python中的python-docx模块快速处理word文档。周末就是省赛了,然而板子还没整合起来。因为我是一个懒狗,懒得把代码再慢慢复制进文档里了,于是来学了这个。......
  • CKEDITOR 展示word中复制的内容和多张图片
    从word中复制全部内容(包括文字、多图片),并在富文本框内展示(CKEDITOR)CKEDITOR.instances["editor"].on('instanceReady',function(elem){console.log(elem.editor.element);elem.editor.on("paste",function(e){console.log(e);......
  • 给WordPress设置自动发布每日60秒文章
    应大家需求,出一个wp自动发布每日60秒读懂世界文章的教程.1.复制下方的php代码<?php$date=file_get_contents("https://www.zhihu.com/api/v4/columns/c_1261258401923026944/items");$date=json_decode($date);$content=$date->data[0]->content;$content=pr......