我正在使用该库https://www.npmjs.com/package/twemoji,无法弄清楚如何转换这样的字符串

'I \u2764\uFE0F emoji!'




I <img class="emoji" draggable="false" alt="❤️" src="/assets/36x36/2764.gif"> emoji!


但是

I :2764: emoji!


我已经尝试了他们的twemoji.convert.toCodePoint()帮助器,像这样尝试过

twemoji.convert.toCodePoint('I \u2764\uFE0F emoji!');


但结果是

49-20-2764-fe0f-20-65-6d-6f-6a-69-21


它需要部分(2764),但也转换了所有字母。所以我需要像正则表达式一样在文本中查找表情符号,但是我发现的只是

var ranges = [
  '\ud83c[\udf00-\udfff]', // U+1F300 to U+1F3FF
  '\ud83d[\udc00-\ude4f]', // U+1F400 to U+1F64F
  '\ud83d[\ude80-\udeff]'  // U+1F680 to U+1F6FF
];


从这里http://crocodillon.com/blog/parsing-emoji-unicode-in-javascript,但是它不涵盖所有表情符号(例如,没有标志)

最佳答案

检查库源代码后,发现简单的解决方案:

    var text = twemoji.replace(text, function(emoji) {
        return twemoji.convert.toCodePoint(emoji);
    });

关于javascript - Twemoji解析字符串并将表情符号更改为等效代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41955157/

10-10 10:19