vue中使用Tinymce富文本插入表情处理,打包后提交表情路径为绝对路径,修改为相对路径

vue中使用Tinymce富文本插入表情处理

在VUE中使用Tinymce富文本时今天遇到一个问题,前端打完包后执行访问后台服务,当时富文本中插入表情图片时,会存储绝对路径,导致不同客户端访问的时候表情读取失败。

解决办法

不多说直接上代码,对Tinymce富文本内容做正则处理:

var result = '<p>4444<img src="file:///F:/develop/yq_workspace/client/StudentTrainingNew20200313/dist/tinymce-all-in-one/plugins/emoticons/img/smiley-embarassed.gif" alt="embarassed" />444<img src="file:///F:/develop/yq_workspace/client/StudentTrainingNew20200313/dist/tinymce-all-in-one/plugins/emoticons/img/smiley-foot-in-mouth.gif" alt="foot-in-mouth" /></p>'
      console.log(result)
      //截取出图片  <img />
      var re = /<img[^>]+>/g
      var imgArr = result.match(re)
	  console.log(imgArr)
      if (imgArr && imgArr.length > 0) {
        //匹配src属性
        var srcReg = /file:[\'\"]?([^\'\"]*)[\'\"]?/i   //  /xxx=/src,因内容不允许,请自行替换
        var src = imgArr[0].match(srcReg)[0]
        console.log("img的src:"+ src)
        //获取图片地址
        if(src){
          let delSrc = src.split("tinymce-all-in-one")[0]
          console.log("删除字符串:" + delSrc)
          if (delSrc) {
            var subStr=new RegExp(delSrc, "g");//创建正则表达式对象
            result = result.replace(subStr,"");//把'is'替换为空字符串
            console.log(result);//Is th all there is
          }
        }
      }

主要思路是对内容提取img的src内容,然后对路径做正则处理,欢迎大家交流

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wpfgaoerfu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值