/**
/* 表情编码
/* @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. vim粘贴乱码的原因

    当我们在使用vim时,把复制的文字粘贴上去,有时会出现奇形怪状的错误: 第一个字符消失(原因是我们粘贴的字符直到遇见i才开始插入,i之前的字符都消失了) 解决方法:在粘贴之前,先输入i进入编辑模式 缩 ...

  2. HttpClient库设置超时

    HttpClient库API跟Lucene一样,每个版本的API都变化很大,这有点让人头疼.就好比创建一个HttpClient对象吧,每一个版本的都不一样. 3.X是正常的Java语法 HttpCli ...

  3. mysql--SQL编程(关于mysql中的日期,关于重叠) 学习笔记2.2

    1.日期中的重叠问题建表sessions: CREATE TABLE `sessions` ( `id` ) NOT NULL AUTO_INCREMENT, `app` ) NOT NULL, `u ...

  4. Linux shell命令:用 !$ 防止误操作

    shell 的通配符匹配非常强大,不过也非常危险,不少同学都碰到这样的问题,比如 rm a*,结果一个手抖,a 和星号之间多了个空格,结果目录下的文件都灰飞烟灭了…… bash 支持一个特殊的变量 ! ...

  5. 自动化部署必备技能—搭建YUM仓库

    导言: YUM主要用于自动安装.升级rpm软件包,它能自动查找并解决rpm包之间的依赖关系.要成功的使用YUM工具安装更新软件或系统,就需要有一个包含各种rpm软件包的repository(软件仓库) ...

  6. 一台电脑存放多个git账户的多个rsa秘钥(转)

    如何在一个电脑上存储多个git账户生成的多份rsa秘钥,实现多个账户同时使用配置的情况?今天,不幸又再次遇到这个问题. 问题描述 公司最近在开发一款开源产品,项目被托管在github上,但是公司内部一 ...

  7. Windows10内置Linux子系统

      WSL 前言 前段时间,机子上的win10又偷偷摸摸升级到了一周年正式版,比较无奈.不过之前听闻这个版本已经支持内置的linux子系统,于是就怀着好奇心试玩了一把.虽然期间遇到了很多问题,但总体来 ...

  8. MFC带标题栏的窗口和不带标题栏的窗口最大化

    原文链接: http://blog.csdn.net/smartgps2008/article/details/7741223 不带标题栏的窗口最大化: 第一种情况:覆盖任务栏 ShowWindow( ...

  9. ADO.NET事务

    在发布System.Transaction命名空间之前,可以直接用ADO.NET创建事务,也可以通过组件.特性和COM+运行库(位于System.EnterpriseServices命名空间中)进行事 ...

  10. U811.1接口EAI系列之一--通用把XML传送给EAI处理方法--PowerBuilder语言

    1.前面配置参考:http://www.cnblogs.com/spring_wang/p/3393147.html 2.pb通用调EAI方法代码如下: //===================== ...