分享

处理emoji表情 - 傻瓜式微信开发教程20

 取经悟能 2015-10-10

有朋友提问关于微信中发送的emoji表情处理的问题.
微信发送的emoji表情直接编码在了字符串中,所以我们如果直接打印,
php中不能正确识别,我们需要做一些特殊的处理.

我们先看看处理结果:


接收到微信服务器发送过来的消息字符串后,
首先经过json_encode处理,将所有字符转化为i`\u`模式.
将得到类似这样的字符串`msg after encode "\ue159\u3010\u516c\u4ea4\/\u5730\u94c1\u3011"`
然后我们对这个字符串进行正则,将emoji表情的区段找出来然后在此类型的区段前添加一个`\`,
于是得到了如下的字符串`msg after replace "\\ue159\u3010\u516c\u4ea4\/\u5730\u94c1\u3011"`.
然后对正则变换以后的字符串进行json_decode,
这样就得到了网页可以理解的字符串模式,`user send to server: \ue159【公交/地铁】`.

在这个过成功,我们通过正则找到了代码中的emoji为`\ue159`,实际上我们可以根据我们的需要,
把这个字符串替换为任意我们需要的格式.例如我们可以替换为`U+e159`.

在发送消息时处理就方便多了,我们只需要把指定的`\ue159`执行`json_decode`就ok了!!

下面是我们的代码:
游客,如果您要查看本帖隐藏内容请回复


如果想在自动定义菜单中加入emoji表情的话也很简单,
我们之前介绍过如何创建自定义菜单,
唯一不同的是在创建自定义菜单的时候,
访问http:///这个网页,
然后把网页中需要的表情,拷贝到按钮的`name`字段里就可以了.
 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多