关于emoji表情
/**
/* 表情编码
/* @param emoji:表情符号
**/
encodeEmoji: function (content) {
var imgHtml = "";
var emojisReg = ["\\#:z", "\\#-\\.-", "\\#:D", "\\#:\\)", "\\#:\\]", "\\#;-L", "\\#;-D", "\\#:<", "\\#\\*_\\*", "\\#\\+_\\+", "\\#>_<", "\\#\\^_\\+", "\\#;P", "\\#0o0", "\\#:-D", "\\#ToT", "\\#>P", "\\#z_z", "\\#-_,-", "\\#\\^_\\^", "\\#>o<", "\\#;<", "\\#@_@", "\\#\\+o\\+", "\\#;z\\*", "\\#x_x", "\\#\\.-b", "\\#@,@", "\\#>-<", "\\#:-<", "\\#\\(cute\\)", "\\#\\(bh\\)", "\\#\\(b\\)", "\\#\\(g\\)", "\\#-@", "\\#\\(p\\)", "\\#\\(18\\)", "\\#\\(kiss\\)", "\\#\\(flag\\)", "\\#\\(d\\)", "\\#\\(pig\\)", "\\#\\(bg\\)", "\\#\\(qiu\\)", "\\#\\(dance\\)", "\\#\\(good\\)", "\\#\\(bingo\\)", "\\#\\(ok\\)", "\\#\\(strong\\)", "\\#\\(b3g\\)", "\\#\\(blg\\)", "\\#\\(yoga\\)", "\\#\\(cut\\)", "\\#\\(head\\)", "\\#\\(no\\)", "\\#\\(\\^L\\)", "\\#\\(love\\)"];
var emojisReg1 = ["\\#:z", "\\#-\\.-", "\\#:D", "\\#:\\)", "\\#:\\]", "\\#;-L", "\\#;-D", "\\#:<", "\\#\\*_\\*", "\\#\\+_\\+", "\\#>_<", "\\#\\^_\\+", "\\#;P", "\\#0o0", "\\#:-D", "\\#ToT", "\\#>P", "\\#z_z", "\\#-_,-", "\\#\\^_\\^", "\\#>o<", "\\#;<", "\\#@_@", "\\#\\+o\\+", "\\#;z\\*", "\\#x_x", "\\#\\.-b", "\\#@,@", "\\#>-<", "\\#:-<", "\\#\\(cute\\)", "\\#\\(bh\\)", "\\#\\(b\\)", "\\#\\(g\\)", "\\#-@", "\\#\\(p\\)", "\\#\\(18\\)", "\\#\\(kiss\\)", "\\#\\(flag\\)", "\\#\\(d\\)", "\\#\\(pig\\)", "\\#\\(bg\\)", "\\#\\(qiu\\)", "\\#\\(dance\\)", "\\#\\(good\\)", "\\#\\(bingo\\)", "\\#\\(ok\\)", "\\#\\(strong\\)", "\\#\\(b3g\\)", "\\#\\(blg\\)", "\\#\\(yoga\\)", "\\#\\(cut\\)", "\\#\\(head\\)", "\\#\\(no\\)", "\\#\\(\\^L\\)", "\\#\\(love\\)"];
for (var i = 0; i < emojisReg.length; i++) {
imgHtml = "<img src=\"./imgs/smiley_" + i + ".png\">";
var reg = new RegExp(emojisReg[i], "gm");
content = content.replace(reg, imgHtml);
}
for (var i = 0; i < emojisReg1.length; i++) {
imgHtml = "<img src=\"./imgs/smiley_" + i + ".png\">";
var reg = new RegExp(emojisReg1[i], "gm");
content = content.replace(reg, imgHtml);
}
return content;
}, /**
* 表情解码
* @param content
* @returns {*}
*/
decodeEmoji: function (content) {
var imgHtml = "";
var emojisTag = ["#:z", "#-.-", "#:D", "#:)", "#:]", "#;-L", "#;-D", "#:<",
"#*_*", "#+_+", "#>_<", "#^_+", "#;P", "#0o0", "#:-D", "#ToT", "#>P", "#z_z",
"#-_,-", "#^_^", "#>o<", "#;<", "#@_@", "#+o+", "#;z*", "#x_x", "#.-b", "#@,@",
"#>-<", "#:-<", "#(cute)", "#(bh)", "#(b)", "#(g)", "#-@", "#(p)", "#(18)",
"#(kiss)", "#(flag)", "#(d)", "#(pig)", "#(bg)", "#(qiu)", "#(dance)", "#(good)",
"#(bingo)", "#(ok)", "#(strong)", "#(b3g)", "#(blg)", "#(yoga)", "#(cut)", "#(head)",
"#(no)", "#(^L)", "#(love)"];
for (var i = 0; i < emojisTag.length; i++) {
imgHtml = "<img src=\"./imgs/smiley_" + i + ".png\">";
var reg = new RegExp(imgHtml, "gm");
content = content.replace(reg, emojisTag[i]);
}
return content;
},
关于emoji表情的更多相关文章
- 移动前端手机输入法自带emoji表情字符处理
今天,测试给我提了一个BUG,说移动端输入emoji表情无法提交.很早以前就有思考过,手机输入法里自带的emoji表情,应该是某些特殊字符.既然是字符,那应该都能提交才对,可是为啥会被卡住呢?搜了一下 ...
- JS操作Unicode编码的emoji表情显示在页面
前言:项目中用到了emoji表情,后端传递数据时直接是以Unicode形式,在页面总是无法展示,找尽各种方法总算是试出了一种,虽然达到效果但是并不是特别理解其中的原理并且无比笨拙,贴在这用作笔记,如果 ...
- IOS Emoji表情
IOS Emoji 前言:我比较喜欢有趣的东西,有一些有趣的小东西,可能不是多么多么牛逼,也可能不需要多高深的技巧,也不会为其他什么强大的功能而服务,但是有时候将很多有趣的小东西组合起来运用,比如在你 ...
- 有关emoji表情以及utf-16编码
昨日IOS组的同事遇到一个棘手的问题:当输入框内含有emoji表情时,如何获取文本框内的字符数(一个emoji表情算一个字符). 先从我最近接触的JAVA说起,JAVA中,在使用S ...
- iOS emoji表情转码 或者判断
如果项目中有评论或者信息恢复的地方,往往会用到emoji,有时候如后台不支持emoji,就会显示乱码错误,我们可以把emoji转成unicode编码或者utf8编码格式传给服务器.当然如果后台服务器接 ...
- mysql支持IOS的Emoji表情
原因: UTF-8编码有可能是两个.三个.四个字节.Emoji表情是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去. 解决办法: 将Mysql的编码从utf8转换成utf8mb4 ...
- iOS 获取emoji表情和拦截emoji表情
1 2 //将数字转为 #define EMOJI_CODE_TO_SYMBOL(x) ((((0x808080F0 | (x & 0x3F000) >> 4) | (x &a ...
- 让mysql支持emoji表情
一.问题及原因 APP产品想对Emoji进行支持,但发现mysql数据库无法写入表情.原因是我们的mysql数据库默认用的是utf8编码,utf8编码存储时用的是三个字节,但Emoji表情是4个字节, ...
- emoji表情初探
2015年12月28日 14:24:51 星期一 首先注意的地方: 1. emoji是需要操作系统支持的, 例如: ios更新时, 会在升级日志里说明, 增加了对多少个emoji图标的支持. 原理上是 ...
- 数据库支持emoji表情
从MySQL5.5.3开始,MySQL 支持一种utf8mb4的字符集,这个字符集能够支持4字节的UTF8编码的字符.utf8mb4字符集能够完美地兼容utf8字符串.在数据存储方面,当一个普通中文字 ...
随机推荐
- (原)torch中提示Unwritable object <userdata> at <?>.callback.self.XXX.threads.__gc__
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6549432.html 参考网址: https://github.com/torch/threads/i ...
- [转载]Ubuntu下Git服务器安装与配置
原文地址:Ubuntu下Git服务器安装与配置作者:F民抄 1. 安装 1.1 安装Git-Core: sudo apt-get install git-core 1.2 安装 Gitosis sud ...
- ldap文件
demo.ldif dn:dc=sgp,dc=com objectclass:domain objectclass:top o:Michael Blog dc:sgp dn:ou=Developer, ...
- [Spring学习笔记 7 ] Spring中的数据库支持 RowMapper,JdbcDaoSupport 和 事务处理Transaction
1.Spring中的数据库支持 把具有相同功能的代码模板抽取到一个工具类中.2.关于jdbc template的应用 jdbcTemplate模板操作类,把访问jdbc的模板抽取到template中, ...
- 转:Spring Cache抽象详解
缓存简介 缓存,我的理解是:让数据更接近于使用者:工作机制是:先从缓存中读取数据,如果没有再从慢速设备上读取实际数据(数据也会存入缓存):缓存什么:那些经常读取且不经常修改的数据/那些昂贵(CPU/I ...
- idea上activiti插件的安装及使用
最近做的东西需要用到activiti,做个笔记 首先下载activti插件- actiBPM File - settings-plugins-Browse-Repositories 搜索 actiBP ...
- Mac 下查看网络端口占用情况
1.Mac 下查看网络端口占用情况 有的时候关闭了服务器,但是端口还是占用,解决的方法是 kill 掉占用该端口的进程. # 查看 8009 端口的占用情况 $ lsof -i:8009 可以看到,该 ...
- MySQL视图已经授权,但是无法访问
开发发来问题说,开发环境的几个视图已经授权,但是指定用户登录后却无法访问.报错信息如下: [SQL]select * from ipost; [Err] - Access denied for use ...
- Android_Bitmap_图片的二次采样并生成缩略图
1.Bitmap概述 Android系统支持几种图片(.png (preferred), .jpg (acceptable), .gif (discouraged)), 其中Bitmap位图#ffff ...
- nodejs 最受欢迎的orm sequelize
传送门 # 视频教程 https://nodelover.me/course/sequelize/ # 官方文档 http://docs.sequelizejs.com/manual/tutorial ...