2

我面临一个关于用它的 unicode 替换表情符号路径的问题。我想使用 RegEx 功能。我的意思是我想替换:

teststring<img src=":/new/emoji/emoji/emoji-E057.png" />thanks<img src=":/new/emoji/emoji/emoji-E415.png" />

teststring\uE057thanks\uE415

请注意,\uE057 和 \uE415 是 2 个 unicode 字符。任何人都可以帮助我解决这个问题。

最好的祝福。

4

1 回答 1

2
var str = 'teststring<img src=":/new/emoji/emoji/emoji-E057.png" />thanks<img src=":/new/emoji/emoji/emoji-E415.png" />',
    div = document.createElement("div"),
    imgs,
    regex = /emoji-([a-f0-9]{4})\.png$/i;

div.innerHTML = str;

imgs = [].slice.call( div.getElementsByTagName("img") );

for( var i = 0; i < imgs.length; ++i ) {
    var m = imgs[i].src.match(regex);

    if( m ) {
        imgs[i].parentNode.replaceChild(
            document.createTextNode(
                String.fromCharCode(parseInt(m[1], 16))
            ), 
            imgs[i]
        );
    }
}

var result = div.innerText || div.textContent || "";
//"teststringthanks"
于 2013-04-12T14:23:30.650 回答