假如一个字符串,里面夹杂了几个图片:
const str = '你好哈哈哈哈<img src="https://pic13.com/img111.gif">这里也有文字<img src="https://pic13.com/img222.gif">这里可能也有文字<img src="https://pic13.com/img333.gif">'
然后有一个对象数组:
const arr = [
{name: 'a', 'url': 'https://pic13.com/img111.gif'},
{name: 'b', 'url': 'https://pic13.com/img222.gif'},
{name: 'c', 'url': 'https://pic13.com/img333.gif'}
]
如何使用正则把字符串str
里面对应的图片筛选出来,替换成arr
数组里面对应的name?
ps: 需要把整个<img>
标签替换掉
理想结果:
newStr = '你好哈哈哈哈a这里也有文字b这里可能也有文字c'
非贪婪匹配
<.*?>
每次只替换一次
问题是不知道怎么判断没有匹配
目前适用查找 "<img" 存不存在来判断是否替换结束