wangEditor粘贴word样式解决方案

  wangEditor在普通输入时是没问题的,但是复制word内容之后会将word的样式一并粘贴过去,获取内容会出现[if gte mso 9]等字样,以至于展示的时候出现js语法错误,基本上解决方案有两种

在这里插入图片描述

关闭粘贴样式的过滤

    当从其他网页复制文本内容粘贴到编辑器中,编辑器会默认过滤掉复制文本中自带的样式,目的是让粘贴后的文本变得更加简洁和轻量。用户可通过editor.customConfig.pasteFilterStyle = false手动关闭掉粘贴样式的过滤。
   // 关闭粘贴样式的过滤
editor.customConfig.pasteFilterStyle = false

但是添加之后并不起作用

自定义处理粘贴的文本内容

参考:https://blog.csdn.net/qq_41619741/article/details/85685153

// 自定义处理粘贴的文本内容
    editor.customConfig.pasteTextHandle = function (content) {
        // content 即粘贴过来的内容(html 或 纯文本),可进行自定义处理然后返回
        if (content == '' && !content) return ''
        var str = content
        str = str.replace(/<xml>[\s\S]*?<\/xml>/ig, '')
        str = str.replace(/<style>[\s\S]*?<\/style>/ig, '')
        str = str.replace(/<\/?[^>]*>/g, '')
        str = str.replace(/[ | ]*\n/g, '\n')
        str = str.replace(/&nbsp;/ig, '')
        str = str.replace(/<([a-z]+?)(?:\s+?[^>]*?)?>\s*?<\/\1>/, '')
        str = str.trim();
        str = str.replace(/\n\s*/g, '<br/>')
        str = str.replace(/<p><br><br><\/p><p><br><\/p>/, '')
        console.log('****', str)
        return str
    }

修改完成之后存在数据库回显发现还是有语法错误,主要是重新编辑用的el赋值,原值其实是有换行的,这样就造成了语法错误。
在这里插入图片描述
于是跟踪了下后台返回的数据,发现其实里面还有其他转义字符“\r\n”
在这里插入图片描述
所以在返回值之前将数据做处理

.replaceAll("\\r", "")
.replaceAll("\\n", "")

这样就解决了

Es6 语法处理js语法换行错误

也可以直接用 ``引入解决js单引号和双引号不能换行的问题,但是又浏览器限制,不建议使用

editor.txt.html(`${productDesc.scenicDesc}`)
vue wangeditor 是一款基于 Vue.js 的富文本编辑器,它可以用于在网页中创建和编辑复杂的文本内容。在使用 vue wangeditor 的过程中,粘贴表格是一个常见的需求。 要实现在 vue wangeditor粘贴表格,首先需要在编辑器中设置支持粘贴表格的功能。可以通过配置编辑器粘贴过滤器,将粘贴的内容进行处理,使得表格可以正确地在编辑器中显示。同时也可以通过插件或自定义功能,增加粘贴表格的支持。 另外,在粘贴表格时,需要注意一些格式转换的问题。例如,粘贴来自 Excel 或 Word 等软件的表格时,可能会出现一些格式不正确的情况,需要在粘贴之后进行一些格式化的操作,使得表格的样式和内容能够正确地在编辑器中显示。 除了基本的粘贴表格功能外,还可以通过相关的插件或自定义功能,实现更多高级的表格编辑功能,比如合并单元格、调整列宽、添加公式等操作。 在实现粘贴表格功能的同时,还要考虑编辑器的性能和用户体验。因为表格内容可能会比较复杂,需要确保粘贴和编辑的流畅性,同时也需要在用户操作时给予一定的提示和反馈,以提升用户的使用体验。 综上所述,要在 vue wangeditor 中实现粘贴表格的功能,需要通过合适的配置和处理方式,保证表格能够正确地在编辑器中显示,并且考虑到用户体验和操作的方便性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值