javascript - emoji的unicode怎么轉(zhuǎn)換成圖像
問題描述
做一個(gè)聊天應(yīng)用,現(xiàn)在導(dǎo)入了表情包,但是遇到了一個(gè)新的問題,就是現(xiàn)在發(fā)送只能收到emoji的Unicode碼,比如說笑臉就是收到: smile:,那么我怎么轉(zhuǎn)換成這樣的。有沒有做過這樣項(xiàng)目的大神,分享一下經(jīng)驗(yàn)吧,先說聲謝謝了。
問題解答
回答1:EmojiOne支持JS PHP Android iOS Java等
JS
https://github.com/Ranks/emojione/blob/master/lib/js
還需要下載對應(yīng)的圖片或字體 https://www.emojione.com/deve...放的位置參照官方例子
使用方法emojione.shortnameToImage(':see_no_evil: or :’-) or emoji charset');支持格式
:emoji:,比如 :see_no_evil: 是那個(gè)
象形符號(hào),比如 ’:-)
unicode字符
回答2:js獲取到unicode字符之后,會(huì)對它進(jìn)行正則過濾,轉(zhuǎn)換成圖片名稱對應(yīng)的字符,然后組裝圖片路徑,這樣就可以顯示了
回答3:weChatEmoji
var qqfaceMap = {'/::)':'0','/::~':'1','/::B':'2','/::|':'3','/:8-)':'4','/::<':'5','/::$':'6','/::X':'7','/::Z':'8','/::’(':'9','/::-|':'10','/::@':'11','/::P':'12','/::D':'13','/::O':'14','/::(':'15','/::+':'16',' /:--b':'17','/::Q':'18','/::T':'19','/:,@P':'20','/:,@-D':'21','/::d':'22','/:,@o':'23','/::g':'24','/:|-)':'25','/::!':'26','/::L':'27','/::>':'28','/::,@':'29','/:,@f':'30','/::-S':'31','/:?':'32','/:,@x':'33','/:,@@':'34','/::8':'35','/:,@!':'36','/:!!!':'37','/:xx':'38','/:bye':'39','/:wipe':'40','/:dig':'41','/:handclap':'42','/:&-(':'43','/:B-)':'44','/:<@':'45','/:@>':'46','/::-O':'47','/:>-|':'48','/:P-(':'49','/::’|':'50','/:X-)':'51','/::*':'52','/:@x':'53','/:8*':'54','/:pd':'55','/:':'56','/:beer':'57','/:basketb':'58','/:oo':'59','/:coffee':'60','/:eat':'61','/:pig':'62','/:rose':'63','/:fade':'64','/:showlove':'65','/:heart':'66','/:break':'67','/:cake':'68','/:li':'69','/:bome':'70','/:kn':'71','/:footb':'72','/:ladybug':'73','/:shit':'74','/:moon':'75','/:sun':'76','/:gift':'77','/:hug':'78','/:strong':'79','/:weak':'80','/:share':'81','/:v':'82','/:@)':'83','/:jj':'84','/:@@':'85','/:bad':'86','/:lvu':'87','/:no':'88','/:ok':'89','/:love':'90','/:':'91','/:jump':'92','/:shake':'93','/:':'94','/:circle':'95','/:kotow':'96','/:turn':'97','/:skip':'98','/:oY':'99','/:#-0':'100','/:hiphot':'101','/:kiss':'102','/:<&':'103','/:&>':'104'}; var str = '/::)|/::~|/::B|/::||/:8-)|/::<|/::$|/::X|/::Z|/::’(|/::-||/::@|/::P|/::D|/::O|/::(|/::+|/:--b|/::Q|/::T|/:,@P|/:,@-D|/::d|/:,@o|/::g|/:|-)|/::!|/::L|/::>|/::,@|/:,@f|/::-S|/:?|/:,@x|/:,@@|/::8|/:,@!|/:!!!|/:xx|/:bye|/:wipe|/:dig|/:handclap|/:&-(|/:B-)|/:<@|/:@>|/::-O|/:>-||/:P-(|/::’||/:X-)|/::*|/:@x|/:8*|/:pd|/:<W>|/:beer|/:basketb|/:oo|/:coffee|/:eat|/:pig|/:rose|/:fade|/:showlove|/:heart|/:break|/:cake|/:li|/:bome|/:kn|/:footb|/:ladybug|/:shit|/:moon|/:sun|/:gift|/:hug|/:strong|/:weak|/:share|/:v|/:@)|/:jj|/:@@|/:bad|/:lvu|/:no|/:ok|/:love|/:<L>|/:jump|/:shake|/:<O>|/:circle|/:kotow|/:turn|/:skip|/:oY|/:#-0|/:hiphot|/:kiss|/:<&|/:&>'; var reg = new RegExp(str,’g’); result = ’這是簡單的測試/::Z呵呵/:wipe效果不錯(cuò)吧’.replace(reg,function(r){return ’<img src='http://m.cgvv.com.cn/wenda/images/qqface/’+qqfaceMap[r]+’.png' />’; }); var a = document.getElementsByTagName(’p’)[0]; a.innerHTML = result;
https://github.com/hu-qi/weCh...
相關(guān)文章:
1. 輸入地址報(bào)以下截圖錯(cuò)誤,怎么辦?2. 對于meta的使用3. thinkphp3 count()方法必須加上字段?4. python - 《flask web 開發(fā)》一書,數(shù)據(jù)庫中多對多關(guān)系的實(shí)現(xiàn)問題?5. 這是什么情況???6. node.js - nodejs中mysql子查詢返回多行結(jié)果怎么處理?7. mysql - 瞬間流量很高的網(wǎng)站,要頻繁的插入數(shù)據(jù)到數(shù)據(jù)庫,應(yīng)該怎么解決這個(gè)問題?8. mysql 5個(gè)left關(guān)鍵 然后再用搜索條件 幾千條數(shù)據(jù)就會(huì)卡,如何解決呢9. python中return 語句與 分支語句連用問題10. python - angular route 與 django urls 沖突怎么解決?
