【需求】: 如下图,页面展示的表情和文字,现在在点击“发送”按钮时,需要将img标签替换成相应的【文字】:
【解决】:
具体实现如下:
要替换的字符串为:
html == <img src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" text_web="微笑" class="qqemoji qqemoji0">我爱你<img src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" text_web="快哭了" class="qqemoji qqemoji50">哈哈
将img标签替换成其中的text_web的值:
sendMsg1() {
let $myInput = this.$el.querySelector('.my-input'),
attrReg = /text_web=[\'\"]?([^\'\"]*)[\'\"]?/i,
html = $myInput.innerHTML,
Content = '';
console.log('html == ', html)
Content = html.replace(/<img(?:.|\s)*?>/gi, function (item) {
return '[' + item.match(attrReg)[1] + ']'
})
console.log('Content : ', Content)
},
打印结果如下: