Javascript 用表情符号替换表情符号

Javascript 用表情符号替换表情符号,javascript,emoji,emoticons,Javascript,Emoji,Emoticons,我有一些文字,可能包括文字表情(例如:;),:()。我想用相应的表情符号unicode字符替换这些符号(不确定是否已经有一个库可以将文本表情符号转换为unicode字符,但下面是一个示例,说明您可以如何自己实现它 var map = { "<3": "\u2764\uFE0F", "</3": "\uD83D\uDC94", ":D": "\uD83D\uDE00", ":)": "\uD83D\uDE03", ";)": "\uD83D\uDE09"

我有一些文字,可能包括文字表情(例如:
;)
:(
)。我想用相应的表情符号unicode字符替换这些符号(
不确定是否已经有一个库可以将文本表情符号转换为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]);
   }
 };
var映射={

“您可以使用此npm软件包,该软件包还提供微笑地图和相应的表情符号:


@OddDev我不认为library会用unicode字符替换文本表情。@Moogs,花这5分钟让它这么做会很痛苦吗?@OddDev看起来你必须手动定义所有表情的列表(这是你想要避免的),并用图像替换它们。在那里对我没有任何用处。位于心脏的
\uFE0F
会导致添加第二个不可见的Unicode字符 — 我必须按退格键两次才能删除心脏。基本上没有必要。我知道这就像运行
regex.replace
一样简单。我的问题更多地指向一个已经完成的解决方案,或者一个完整的表或我可以使用的情绪,而不是自己手动列出它们来维护这个列表。也许可以使用
oninput
而不是
onkeyup
可以在此处找到完整的ascci emojis列表