У меня есть текст, который может включать текстовые смайлики (например: ;)
, :(
). Я хотел бы заменить их соответствующими символами Unicode Emoji ( а также
) для приведенного выше примера.
Я намерен запустить twimoji для этого текста.
Я знаю, что могу найти и заменить, но я бы предпочел использовать что-то уже готовое, что уже делает это.
Какие-нибудь библиотеки, которые уже реализуют это? Я считаю, что список общих смайликов — самая большая часть работы здесь.
Не уверен, есть ли уже библиотека, которая превращает текстовые смайлики в символы Юникода, но вот пример того, как вы могли бы реализовать это самостоятельно.
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]);
}
};
Других решений пока нет …