我正在尝试使用Regex,但仅在PHP和多年前使用过它:
var msgText = thisMSG.getElementsByClassName('message-text')[0].getElementsByClassName('emojitext')[0].innerHTML;
msgText = msgText.replace('/<img src="([\.]*)"([\.]*)alt="[([\.]*)">/g','\\3');
我想用替代内容替换img标记:
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="emoji emojiordered0186 selectable-text" draggable="false" alt="❤">
任何想法有什么不对?
编辑:图像可以是发送的一部分,例如:
I <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="emoji emojiordered0186 selectable-text" draggable="false" alt="❤"> U!
答案 0 :(得分:1)
您不必使用正则表达式。请改用下面的代码。
var msgText = thisMSG.querySelector(".message-text .emojitext");
msgText.parentNode.replaceChild(document.createTextNode(msgText.alt), msgText);
进行多项更改:
[].forEach.call(document.querySelectorAll(".message-text .emojitext"), function(emoji) {
emoji.parentNode.replaceChild(document.createTextNode(emoji.alt), emoji);
});
答案 1 :(得分:0)
好的,明白了:
var msgText = null;
while ( msgText = thisMSG.querySelector('.message-text .emojitext .emoji') )
{
msgText.outerHTML = msgText.alt;
}
并使用文字:
thisMSG.querySelector('.message-text .emojitext').innerHTML