经过大量的研究,我发现可以使用Twemoji库实时解析表情符号。
现在,我需要找出如何识别文本中是否含有表情符号,获取该表情符号的位置并执行解析函数。
下面是一些示例文本:
It is a great day .
需要在整个字符串中找到符号,使用以下函数获取其十六进制代码,返回代理对并解析使用Twemoji库。
function entityForSymbolInContainer(selector) {
var code = data.message.body.codePointAt(0);
var codeHex = code.toString(16);
while (codeHex.length < 4) {
codeHex = "0" + codeHex;
}
return codeHex;
}
// Get emoji hex code
var emoji = entityForSymbolInContainer(data.message.body);
// For given an HEX codepoint, returns UTF16 surrogate pairs
var emoji = twemoji.convert.fromCodePoint(emoji);
// Given a generic string, it will replace all emoji with an <img> tag
var emoji = twemoji.parse(emoji);
我正在使用以下检查来查看文本中是否有表情符号。问题是对于一个简单的咧嘴笑脸()它不会向我发出警报。然而,如果我输入“衬衫和领带”(),它将向我发出警报。
var string = "It is a great day .";
var emojiRegex = /([\uE000-\uF8FF]|\uD83C[\uDF00-\uDFFF]|\uD83D[\uDC00-\uDDFF])/g;
if (string.match(emojiRegex)) {
alert("emoji found");
}
请帮忙解决正则表达式无法识别表情符号的问题。之后,我应该能够在字符串中找到它。谢谢!