【php】微信公众帐号开发接口--Emoji表情

微信公众平台中,开发者可以向用户发送表情。比如QQ表情,符号表情。QQ表情的发送很简单,QQ表情虽然呈现为 表情图片,但在微信公众平台中却是属于文本消息。每个表情都有唯一的代码与之对应,比如第一个表情“微笑”,有三种表示方式:/微笑;[微笑];/::),直接向消息接口的contentStr 传递这样的参数即可向用户发送QQ表情。这中方法很简单,就不再赘述。


在这里,笔者主要想阐述如何在php环境下向用户发送符号表情。

符号表情的实质也是一条文本消息。不过,与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");


更多表情代码以及实现方式请参考两个链接:

柳峰的专栏

Emoji for PHP

转帖请注明本文出自bsdcfp的专栏,请尊重他人的辛勤劳动成果,谢谢!


你可能感兴趣的:(【php】微信公众帐号开发接口--Emoji表情)