当前位置 : 主页 > 网络编程 > PHP >

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

来源:互联网 收集:自由互联 发布时间:2023-09-03
1.配置过滤js文件 首先打开 \e\admin\ecmseditor\infoeditor\plugins\pastefromword\filter\default.js 在文件的最后部分又如下代码(修改前的代码),也可以搜索CKEDITOR.cleanWord进行定位。 修改前: CKEDI

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://www.1234xp.com/yancheng.html 欢迎留下您的宝贵建议】
上一篇:Swoole - webSocket消息服务系统方案设计篇
下一篇:没有了
网友评论