/**
/* 表情编码
/* @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表情的更多相关文章

  1. 移动前端手机输入法自带emoji表情字符处理

    今天,测试给我提了一个BUG,说移动端输入emoji表情无法提交.很早以前就有思考过,手机输入法里自带的emoji表情,应该是某些特殊字符.既然是字符,那应该都能提交才对,可是为啥会被卡住呢?搜了一下 ...

  2. JS操作Unicode编码的emoji表情显示在页面

    前言:项目中用到了emoji表情,后端传递数据时直接是以Unicode形式,在页面总是无法展示,找尽各种方法总算是试出了一种,虽然达到效果但是并不是特别理解其中的原理并且无比笨拙,贴在这用作笔记,如果 ...

  3. IOS Emoji表情

    IOS Emoji 前言:我比较喜欢有趣的东西,有一些有趣的小东西,可能不是多么多么牛逼,也可能不需要多高深的技巧,也不会为其他什么强大的功能而服务,但是有时候将很多有趣的小东西组合起来运用,比如在你 ...

  4. 有关emoji表情以及utf-16编码

        昨日IOS组的同事遇到一个棘手的问题:当输入框内含有emoji表情时,如何获取文本框内的字符数(一个emoji表情算一个字符).       先从我最近接触的JAVA说起,JAVA中,在使用S ...

  5. iOS emoji表情转码 或者判断

    如果项目中有评论或者信息恢复的地方,往往会用到emoji,有时候如后台不支持emoji,就会显示乱码错误,我们可以把emoji转成unicode编码或者utf8编码格式传给服务器.当然如果后台服务器接 ...

  6. mysql支持IOS的Emoji表情

    原因: UTF-8编码有可能是两个.三个.四个字节.Emoji表情是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去. 解决办法: 将Mysql的编码从utf8转换成utf8mb4 ...

  7. iOS 获取emoji表情和拦截emoji表情

      1 2 //将数字转为 #define EMOJI_CODE_TO_SYMBOL(x) ((((0x808080F0 | (x & 0x3F000) >> 4) | (x &a ...

  8. 让mysql支持emoji表情

    一.问题及原因 APP产品想对Emoji进行支持,但发现mysql数据库无法写入表情.原因是我们的mysql数据库默认用的是utf8编码,utf8编码存储时用的是三个字节,但Emoji表情是4个字节, ...

  9. emoji表情初探

    2015年12月28日 14:24:51 星期一 首先注意的地方: 1. emoji是需要操作系统支持的, 例如: ios更新时, 会在升级日志里说明, 增加了对多少个emoji图标的支持. 原理上是 ...

  10. 数据库支持emoji表情

    从MySQL5.5.3开始,MySQL 支持一种utf8mb4的字符集,这个字符集能够支持4字节的UTF8编码的字符.utf8mb4字符集能够完美地兼容utf8字符串.在数据存储方面,当一个普通中文字 ...

随机推荐

  1. HDUOJ-------The Hardest Problem Ever

    The Hardest Problem Ever Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java ...

  2. [转]awesome-tensorflow-chinese

    模型项目 Domain Transfer Network - Implementation of Unsupervised Cross-Domain Image Generation Show, At ...

  3. 树莓派进阶之路 (027) - 在Linux中增加swap空间

    原贴地址:http://blog.csdn.net/chinalinuxzend/article/details/1759593  在Linux中增加swap空间 在安装Linux的时候,不知道swa ...

  4. 利用图片中的exif元数据批量查找图片中所包含的GPS信息

    在图片的exif(交换图像文件格式)中标准定义了如何存储图像和音频文件的标准,而在这些标签中往往存在了一些容易被人们忽视却又重要的东西. 有一款工具名为exiftool,可以快速的解析所有标签,并将结 ...

  5. shell脚本中解决SCP命令需要输入密码的问题

    使用密钥文件.       这里假设主机A(192.168.100.3)用来获到主机B(192.168.100.4)的文件.   在主机A上执行如下命令来生成配对密钥: ssh-keygen -t r ...

  6. ROS学习(十三)—— 编写简单的Service和Client (C++)

    一.编写Service节点 1.节点功能: 我们将创建一个简单的service节点("add_two_ints_server"),该节点将接收到两个整形数字,并返回它们的和. 2. ...

  7. C#创建文件夹并设置权限

    原文地址:https://www.cnblogs.com/top5/archive/2010/04/12/1710141.html /*  需要添加以下命名空间:  using System.IO;  ...

  8. ORA-14404: partitioned table contains partitions in a different tablespace

    SQL> drop tablespace nn_data including contents and datafiles; drop tablespace nn_data including ...

  9. PCM、G.729等常用VoIP编码的理论带宽计算

    可能通信背景的同学,一提到PCM编码,脑海里都能跳出来一个数值64K. 一.64KB还是64Kb? 64Kb! 二.哪里来的64Kb? CCITT规定抽样率为每秒8000KHz,每抽样值编8位码,所以 ...

  10. systemd自启动java程序

    一.背景条件 1. Linux系统是Debian 8 2. Java程序是test.jar,安装路径是/home/test/test.jar 二.编写java的启动脚本 startTest.sh #! ...