2017-01-31 2 views
0

Я использую эту библиотеку https://www.npmjs.com/package/twemoji и не могу понять, как преобразовать строку, как этотTwemoji синтаксического анализа строки и изменить смайлики закодировать эквивалент

'I \u2764\uFE0F emoji!' 

не в

I <img class="emoji" draggable="false" alt="❤️" src="/assets/36x36/2764.gif"> emoji! 

но

I :2764: emoji! 

Я пробовал их помощник twemoji.convert.toCodePoint(), попробовал это так

twemoji.convert.toCodePoint('I \u2764\uFE0F emoji!'); 

но результат

49-20-2764-fe0f-20-65-6d-6f-6a-69-21 

он нуждался часть (2764), но и превращают все буквы тоже. Поэтому мне нужно нравится регулярное выражение, чтобы найти смайлик в тексте, но все, что я нашел это

var ranges = [ 
    '\ud83c[\udf00-\udfff]', // U+1F300 to U+1F3FF 
    '\ud83d[\udc00-\ude4f]', // U+1F400 to U+1F64F 
    '\ud83d[\ude80-\udeff]' // U+1F680 to U+1F6FF 
]; 

здесь http://crocodillon.com/blog/parsing-emoji-unicode-in-javascript но не охватывает все emojies (без флагов, например)

ответ

1

После проверки библиотеки исходный код, найдено простое решение:

var text = twemoji.replace(text, function(emoji) { 
     return twemoji.convert.toCodePoint(emoji); 
    }); 
Смежные вопросы