微信公众平台中,开发者可以向用户发送表情。比如QQ表情,符号表情。QQ表情的发送很简单,QQ表情虽然呈现为 表情图片,但在微信公众平台中却是属于文本消息。每个表情都有唯一的代码与之对应,比如第一个表情“微笑”,有三种表示方式:/微笑;[微笑];/::)
微信公众平台中,开发者可以向用户发送表情。比如QQ表情,符号表情。QQ表情的发送很简单,QQ表情虽然呈现为 表情图片,但在微信公众平台中却是属于文本消息。每个表情都有唯一的代码与之对应,比如第一个表情“微笑”,有三种表示方式:/微笑;[微笑];/::),直接向消息接口的contentStr 传递这样的参数即可向用户发送QQ表情。这中方法很简单,就不再赘述。
在这里,笔者主要想阐述如何在php环境下向用户发送符号表情。
符号表情的实质也是一条文本消息。不过,与QQ表情不同的是,它是unicode编码,如果直接发送那么会原样输出。开发者需要对其进行编码转换。请看代码:
<span>public function emoji($emoji_str) { //将字符串组合成json格式 $emoji_str = '["'.$emoji_str.'"]'; $emoji_arr = json_decode($emoji_str, true); if (count($emoji_arr) == 1) return $emoji_arr[0]; else return null; }</span>在php5.0及以上版本中提供了 json_decode方法。JSON是一种数据的存储格式,说通俗点,它真的很像数组,更多详细的信息请自行查阅资料。我们首先将字符串转换为数组格式,再采用json_decode方法。这样就可以很好的将unicode编码转为utf-8编码。
在需要显示符号表情的地方调用该函数,如:
<span>$contentStr = "[肌肉]".$this->emoji($emoji_str = "\ue14c"); </span>
柳峰的专栏
Emoji for PHP
bsdcfp的专栏,请尊重他人的辛勤劳动成果,谢谢!