JavaScript — заменить смайлики на смайлики

У меня есть текст, который может включать текстовые смайлики (например: ;), :(). Я хотел бы заменить их соответствующими символами Unicode Emoji (�� а также ��) для приведенного выше примера.

Я намерен запустить twimoji для этого текста.

Я знаю, что могу найти и заменить, но я бы предпочел использовать что-то уже готовое, что уже делает это.

Какие-нибудь библиотеки, которые уже реализуют это? Я считаю, что список общих смайликов — самая большая часть работы здесь.

2

Решение

Не уверен, есть ли уже библиотека, которая превращает текстовые смайлики в символы Юникода, но вот пример того, как вы могли бы реализовать это самостоятельно.

 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/

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]