wangEditor富文本编辑器,图片添加链接功能

问题描述

编辑器给图片添加链接,是给图片添加data-href属性。在实际应用中富文本的内容,在前台展示时为了动态展示文本样式,所以是通过v-html渲染的,就会导致渲染后的图片无法点击,需要用a标签包裹img标签。

实现思路 

1.在表单接收富文本内容的回调事件中,通过正则匹配img标签,并用a标签包裹。
//获取从富文本编辑器传过来的内容
    const changeContent = (val) => {
      if (val) {
        // 匹配所有img标签,用a标签包裹
        val.replace(/<img [^>]*data-href=['"]([^'"]+)[^>]*>/g, (match, capture)=> {
          val = val.replace(match, `<a href="${capture}">${match}</a>`)
        })
        
        // 复值给表单,并移除表单校验
        data.Form.text= val;
        ruleFormRef.value.clearValidate("text"); //移除校验结果
        
      }
    };
2.因编辑器无法解析a标签,编辑时会导致图片无法回显,所以在编辑时需要通过正则匹配并删除a标签。
//编辑下富文本 图片处理 去除a标签
  const removeA =(str) =>{
      if(str){
        // 富文本内容都会加码,所以需要解码
        let str = decodeURIComponent(str)
        str = str.replace(/<a.*?>/g,'')
        str = str.replace(/<\/a>/g,'')
        data.Form.text= str
      }
    }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值