我有一些文字,其中可能包含文字表情符号(例如:;)
,:(
)。对于上述示例,我想用它们对应的表情符号unicode字符(😉
和😞
)替换这些字符。
我的意图是然后在此文本上运行twimoji。
我知道我可以找到并替换,但是我宁愿使用已经预先构建好的东西来执行此操作。
任何已经实现此功能的库?我相信,常用表情符号列表是此处最大的工作。
最佳答案
不确定是否已经有一个库可以将文本表情符号转换为unicode字符,但是这里有一个示例,说明如何自己实现。
var map = {
"<3": "\u2764\uFE0F",
"</3": "\uD83D\uDC94",
":D": "\uD83D\uDE00",
":)": "\uD83D\uDE03",
";)": "\uD83D\uDE09",
":(": "\uD83D\uDE12",
":p": "\uD83D\uDE1B",
";p": "\uD83D\uDE1C",
":'(": "\uD83D\uDE22"
};
function escapeSpecialChars(regex) {
return regex.replace(/([()[{*+.$^\\|?])/g, '\\$1');
}
document.getElementById('textarea').oninput = function() {
for (var i in map) {
var regex = new RegExp(escapeSpecialChars(i), 'gim');
this.value = this.value = this.value.replace(regex, map[i]);
}
};
http://jsfiddle.net/04zv3ozh/18/