我正在使用该库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/