微信公众平台中,开发者可以向用户发送表情。比如QQ表情,符号表情。QQ表情虽然呈现为 表情图片,但在微信公众平台中却是属于文本消息。每个表情都有唯一的代码与之对应,比如第一个表情“微笑”,有三种表示方式:/微笑;[微笑];/::),直接向消息接口的contentStr 传递这样的参数即可向用户发送QQ表情。
符号表情的实质也是一条文本消息。不过,与QQ表情不同的是,它是unicode编码,如果直接发送那么会原样输出。开发者需要对其进行编码转换。请看代码:
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;
}
在php5.0及以上版本中提供了 json_decode方法。JSON是一种数据的存储格式,说通俗点,它真的很像数组,更多详细的信息请自行查阅资料。我们首先将字符串转换为数组格式,再采用json_decode方法。这样就可以很好的将unicode编码转为utf-8编码。
在需要显示符号表情的地方调用该函数,如:
$contentStr = "[肌肉]".$this->emoji($emoji_str = "\ue14c");
更多符号表情Unicode代码:
参考:http://blog.csdn.net/lyq8479/article/details/9393097
参考:http://code.iamcal.com/php/emoji/