有个需求,富文本内容是<div><img src="profile/upload/2021/11/22/tupian20210619144044.png"/></div>。现在要把富文本中img元素的src属性前都拼接成'http://xx.xxx.xxx.xxx:1001/profile/upload/2021/11/22/tupian20210619144044.png' 这种格式,前面加后台url前缀。
废话不多说,直接上代码:
let noticeContent = '<div><img src="profile/upload/2021/11/22/tupian20210619144044.png"/></div>';
//想要修改成 http://xx.xxx.xxx.xxx:1001/profile/upload/2021/11/22/tupian20210619144044.png
let imgReg = RegExp(/<img [^>]*src=['"]([^'"]+)[^>]*>/gi);//定义正则,筛选出img元素
let matchres=noticeContent.match(imgReg);
if(matchres){
matchres.forEach((item,index)=>{
let _tempStr = item.slice(0,item.length-2);
//_tempStr = _tempStr.replace('/prod-api', '');
let _index = _tempStr.indexOf('/');
let _str= _tempStr.substring(0, _index) + response.data2 + _tempStr.substring(_index, _tempStr.length) + '"/>';
noticeContent=noticeContent.replace(item,_str)
})
}