看习惯了qq的默认表情,尝到了漂亮的emoji表情。这个时候,就开始心动了。我要我要回复漂亮的emoji表情。

既然,谈到emoji表情,能回复是必然的。只是方法你寻到了没。php有点不同,在php中输出\(斜杠)u开头的unicode编码会原样输出,所以需要转换一下(java和c#貌似不用)。

做一个勤快的人,有想法,就得付出心动。在网上都可以找到答案,然后去应证,封装。最后,就是你的了。

先上一张图。

emoji表情

在进行代码编写之前,先看看柳峰的文章: http://blog.csdn.net/lyq8479/article/details/9229637
他那里详细讲解了什么是emoji表情,以及如何使用emoji表情。

Emoji表情的分类

Emoji表情有很多种版本,包括Unified、DoCoMo、KDDI、Softbank和Google,而且不同版本的表情代码也不一样,更可恶的是:不同的手机操作系统、甚至是同一操作系统的不同版本所支持的emoji表情又不一样。

所以,完美主义者可以止步了,因为目前emoji表情并不能保证在所有终端上都能正常使用。

庆幸的是,我已经在超过10余部终端上测试过emoji表情的使用,这其中包括iPhone 4S、iPhone 5、Android 2.2、Android 4.0+、Win8、iPad2,只有极个别终端上显示不出来或显示为一个小方格,所以并没有什么太大的影响,也就可以放心使用了!

既然,emoji表情有多种版本,那么使用方法是否一样呢?请先看SoftBank版本emoji表情的使用。

第一,我们要知道表情代码表。这个在柳峰的文章里边有,贴出了图片以及对应的表情代码。上边说过,在php中输出\(斜杠)u开头的unicode编码会原样输出,所以需要转换一下。现在来转换一下。

    public function unicode2utf8($str){    $str = '{"result_str":"'.$str.'"}';    //组合成json格式$strarray = json_decode($str,true);    //json转换为数组,利用 JSON 对 \uXXXX 的支持来把转义符恢复为 Unicode 字符(by 梁海)return $strarray['result_str'];}

假如我们要向用户返回一个“草莓”表情,只需要在输出的xml文件中对应的Content值是:

$array['Content'] = $this->unicode2utf8("\ue347");

这个时候,你应该可以看清楚了。”\ue347″就是‘草莓’这个表情的表示代码。上边的unicode2utf8函数,就是将表情代码转换成正常的。其唯一参数就是表情对应的表示代码。

既然知道可以使用了。那么下边,我们可以对这些表情进行封装一下。使得可以实现下边两种功能。

一丶随机的输出一个emoji表情(emoji表情太多,从众多表情中随机的输出一个emoji表情有新鲜感)。

二丶通过中文名字,输出对应的emoji表情(这个与上边的相反。有时候,是需要输出特定的表情)。

为了实现上边这两个功能。我建立了两个数组,一个用来存储emoji表情的表示代码,另一个用来存储emoji表情对应的中文名字(这个名字你觉得怎么贴切就怎么取)。他们的键值是0,1,2,3,4……

这里除了上边的转换函数,还需要两个公开的函数。一个用来输出随机的表情,一个用来输出对应关键字的表情。
说完了,直接贴出封装好的代码。

<?php
class Tool
{var $emojiList = array("\ue345","\ue347","\ue33a","\ue33e","\ue33b","\ue338","\ue034","\ue31c","\ue43c","\ue13e","\ue041","\ue03c","\ue307","\ue303","\ue118","\ue032","\ue110","\ue306","\ue054","\ue522","\ue01a","\ue528","\ue529","\ue52d","\ue04a","\ue04b","\ue425","\ue111","\ue428","\ue03e","\ue00e","\ue14c","\ue329","\ue32d","\ue107","\ue105","\ue409","\ue106","\ue418","\ue315","\ue30d","\ue138","\ue139");var $emojiNameList = array("苹果","草莓","甜筒","米饭","薯条","汤","戒指","红唇","伞","高跟鞋","吉他","麦克风","绿树","红花","枫叶","玫瑰","叶子","一束花","海豚","海鱼","马","猴子","羊","蛇","太阳","雨","爱恋","恋爱","牵手","音乐","赞","肌肉","一箭穿心","紫色的心","恐惧","闭眼吐舌头","吐舌头","色色","飞吻","秘密","祝福","男人","女人");public function Tool(){}/*** 输出特定的表情* */public function getEmoji($str){$index = array_search($str , $this->emojiNameList);return $this->unicode2utf8($this->emojiList[$index]);}/*** 随机输出表情* */public function getRandEmoji(){$len = count($this ->emojiList);return $this->unicode2utf8($this->emojiList[rand(0,$len-1)]);}/*** 在php中输出\(斜杠)u开头的unicode编码会原样输出,所以需要转换一下。(java和c#貌似不用)* */public function unicode2utf8($str){$str = '{"result_str":"'.$str.'"}';    //组合成json格式$strarray = json_decode($str,true);    //json转换为数组,利用 JSON 对 \uXXXX 的支持来把转义符恢复为 Unicode 字符(by 梁海)return $strarray['result_str'];}
}?>

上边是SoftBank版本emoji表情的使用,下边说下Unified版本的emoji表情。在代码表中,Unified版本表情是”U+1F604″这样的形式,就是开头两个字符是“U+”,在这里,我们需要将“U+”替换成“0X”,然后给xml的Content。这里就不多说了。

很悲伤的说,php下Unified版本的表情没有试验成功。php将字符从Unicode转化成utf-8还是不行。
应该方法不对吧。

微信公众号使用Emoji表情相关推荐

  1. Python爬虫实例:爬取微信公众号图片(表情包)

    背景: 在学习了简单爬虫的编写之后,我试图通过编写爬取公众号图片(表情包)来丰富我的聊天技能,亦不致于败给各种熊猫头. 在学习了requests库之后,就能够很轻松地爬取静态页面的信息,把网页对象获取 ...

  2. 微信公众号开发--普通表情与emoji表情的处理 (实用、超赞有图片资源)

    原文出处:https://blog.csdn.net/frankcheng5143/article/details/64129433 (原文图文并茂,请转读原文) 随着表情的大量使用,在微信开发中,开 ...

  3. 微信公众号开发--普通表情与emoji表情的处理

    随着表情的大量使用,在微信开发中,开发人员不得不考虑对表情的处理. 微信上的表情大致可以分为三类. 第一类是收藏的表情,像下面这样的 这种表情从微信端发到服务器是这样的 这类表情无法处理. 另一类是微 ...

  4. 微信公众号最佳实践 ( 10.2)回复QQ表情和Emoji表情

    回复QQ表情和Emoji表情 微信的的文字发送方有一个笑脸表情等表情符,单击该表情后,我们可以发送这些表情,这些表情包括QQ表情和Emoji表情(也叫符号表情) 如图示: 微信用户和微信公众号都能直接 ...

  5. 微信公众号自定义菜单添加emoji表情图标

    微信公众号自定义菜单添加emoji表情图标 第一步:打开微信公众平台接口调试工具,点击前往接口调试工具: 第二步:把这段代码   {"button":[{"sub_but ...

  6. 微信公众号开发 - 发送Emoji表情

    微信公众号开发文章目录 1.微信公众号开发 - 环境搭建 2.微信公众号开发 - 配置表设计以及接入公众号接口开发 3.微信公众号开发 - token获取(保证同一时间段内只请求一次) 4.微信公众号 ...

  7. 微信公众号开发者模式回复信息带表情(QQ,emoji)

    最近做微信公众号的迭代 老板非要发送消息带表情 我调研了网上的各种方法 各种开源代码和项目经验 没一个能用的- o(╥﹏╥)o emoji 下面是整个流程 首先,我自己测试,先往公众号发表情,后台去接 ...

  8. 微信公众号自定义菜单如何添加emoji表情图标?

    打开浏览器登陆自己的微信公众号平台,找到开发者工具并点击进去. 将代码复制: {"button": [ {"sub_button":[{"type&q ...

  9. 微信ChatEmoji表情适配,对微信公众号开发有帮助

    最近做微信公众号时发现微信ChatEmoji表情与接受的消息显示表情的问题, 微信表情后面的ChatEmoji显示不出,花了一些时间整理,把pc和手机的表情全部都整理了, 由于有两百多个显示可能有点长 ...

最新文章

  1. pythonflask configlist.py_flask源码阅读系列一config模块
  2. 刚刚,2020 ACM Fellow放榜!陈怡然、颜水成、周昆等12名华人当选
  3. ZOJ 2334 HDU 1512 Monkey King
  4. python 文件处理1:将某一目录下的文件合并
  5. ubuntu10右键脚本中增加发送到命令
  6. 多案分库分表带来的问题-跨库关联查询
  7. angular2子组件的事件传递(任意组件事件传递)
  8. 云计算中HMI的三大优点
  9. 面向对象 - 继承/组合 - 总结
  10. 牛!阿里云位居中国金融云市场第一
  11. 哈佛成功金句 -25则
  12. 因代码不规范,码农枪击了4名同事!
  13. angular中如何定义全局变量_如何在Angular 2 / Typescript中声明全局变量?
  14. Oracle安全漏洞2016.10报告
  15. 关于索引的B tree B-tree B+tree B*tree 详解结构图
  16. oracle体系结构视频学习笔记
  17. ASP.NET AJAX 首部曲 - 迈向解密之路
  18. 远程软件TeamViewer如何导出选项注册表文件?
  19. Java进阶之路对标阿里P6(8)——分布式理论及框架设计Netty
  20. android安装nodejs6,使用安卓手机搭建node-red

热门文章

  1. 英文文本预处理流程总结
  2. IBHLink S7++ 模块 AEG 调功器 Thyro-S 1S 400-100 HRL1
  3. 方向gravity_两种对齐方式,layout_gravity和gravity大不同
  4. 关于更新Windows11后eNSP路由器启动不了一直报“‘错误代码:40”的问题
  5. 榆熙教育电商学院:拼多多为何做“百亿补贴”?都带来了什么?
  6. C++OpenCV系统学习(17)——图像分割与抠图(6)——视频背景替换
  7. 剑灵系统推荐加点_《剑灵》各职业练级推荐修炼加点攻略
  8. JavaWeb实训项目:基于SSM框架的CRM客户关系管理系统(文章最后有源码)
  9. arduino定时器pdf_Arduino基础入门篇18—数字时钟
  10. python中var是什么变量_python变量