关于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字符串.在数据存储方面,当一个普通中文字 ...
随机推荐
- JSONObject.parseObject(jsonStr);和JSONObject.fromObject(jsonStr);
虽然都是返回JSONObject,但是 JSONObject.parseObject(jsonStr);这个方法需要导入import com.alibaba.fastjson.JSONObject; ...
- STRTOK函数和STRTOK_R函数
STRTOK函数和STRTOK_R函数 注:本文转载自博客园,感谢作者整理! 1.一个应用实例 网络上一个比较经典的例子是将字符串切分,存入结构体中.如,现有结构体 typedef struct pe ...
- C语言lseek()函数:移动文件的读写位置
相关函数:dup, open, fseek 头文件:#include <sys/types.h> #include <unistd.h> 定义函数:off_t lseek ...
- C语言stat()函数:获取文件状态
相关函数:fstat, lstat, chmod, chown, readlink, utime 头文件:#include<sys/stat.h> #include<uninstd ...
- ubuntu源列表(清华,阿里,官方,选一即可)
Ubuntu的源列表在/etc/apt/sources.list中,替换即可 #清华的源deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial m ...
- hadoop相关内容
数据库导出到hadoop http://www.ibm.com/developerworks/cn/data/library/techarticle/dm-1212liuqy/ http://www. ...
- spring 定时任务执行两次解决办法
在web.xml中同时配置了ContextLoaderListener和DispatcherServlet?假如真是这样的话,需要删掉一个配置,因为你相当于配置了两个spring容器,两个容器分别都执 ...
- golang学习笔记 ---dup
对文件做拷贝.打印.搜索.排序.统计或类似事情的程序都有一个差不多的程序结构:一个处理输入的循环,在每个元素上执行计算处理,在处理的同时或最后产生输出.我们会展示一个名为 dup 的程序的三个版本 p ...
- Linux 的僵尸(zombie)进程
可能很少有人意识到,在一个进程调用了exit之后,该进程 并非马上就消失掉,而是留下一个称为僵尸进程(Zombie)的数据结构.在Linux进程的5种状态中,僵尸进程是非常特殊的一种,它已经放弃了几乎 ...
- CListCtrl行高问题最终解决方法
原文链接: http://blog.csdn.net/benny5609/article/details/1967078 解决方案: 1. 设置List Control的属性 Owen Draw Fi ...