文本输入,js防注入,识别网址,清除富文本html,修改富文本图片样式

    // 修改富文本图片样式 
    // fixImgInRichText("<p><img src=''  /></p>","width:100%")
    fixImgInRichText(htmlSnip,style='') {
        let regex1 = new RegExp('(i?)(\<img)(?!(.*?style=[\'"](.*)[\'"])[^\>]+\>)', 'gmi')
        // 给不含 style="" 或 style='' 的 img 标签加上 style=""
        htmlSnip = htmlSnip.replace(regex1, '$2 style=""$3')
        // 正则匹配含有 style 的 img 标签
        let regex2 = new RegExp('(i?)(\<img.*?style=[\'"])([^\>]+\>)', 'gmi')
        htmlSnip = htmlSnip.replace(regex2, `$2${style}$3`)
        return htmlSnip
    }      

    // 防注入(html、script强制显示)
    htmlEncode(str){
		var ele = document.createElement('span');
		ele.appendChild(document.createTextNode(str));
		return ele.innerHTML;
	},
    //解析(强制显示的返回) 
	htmlDecode (str) {
		var ele = document.createElement('span');
		ele.innerHTML = str;
		return ele.textContent;
    },
    // 识别网址
    getHtml(value,index=0){
        let valueArray=value.split('\n');
        let valueAtring=valueArray.join('<br>')
        var reg = /(http:\/\/|https:\/\/)((\w|=|\?|\.|\/|&|-)+)/g;
        let url=valueAtring.replace(reg,'$1$2')
        return valueAtring.replace(reg, "<a style=' color: #5cadff !important;' id='toA_"+index+"' target='_Top,_Blank'  href='$1$2' url='$1$2'>$1$2</a>")
    },
    //清除富文本html
    clearHtml(str){
        let regex = /(<([^>]+)>)/ig
		return str.replace(regex, "").replace(/&nbsp;/gi, "");
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值