千家信息网

微信开发Emoji表情的示例分析

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章将为大家详细讲解有关微信开发Emoji表情的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一 什么是Emojiemoji就是表情符号;词义来自日语(
千家信息网最后更新 2026年11月02日微信开发Emoji表情的示例分析

这篇文章将为大家详细讲解有关微信开发Emoji表情的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一 什么是Emoji

emoji就是表情符号;词义来自日语(えもじ,e-moji,moji在日语中的含义是字符)
表情符号现已普遍应用于手机短信和网络聊天软件。
emoji表情符号,在外国的手机短信里面已经是很流行使用的一种表情。

在国内的微信和微信中也被采用。

Emoji 全编码表:
punchdrunker.github.com/iOSEmoji/table_html/flower.html

code.iamcal.com/php/emoji/

回复代码如下所示:

responseMsg();}else{    $wechatObj->valid();}class wechatCallbackapiTest{    //验证签名    public function valid()    {        $echoStr = $_GET["echostr"];        $signature = $_GET["signature"];        $timestamp = $_GET["timestamp"];        $nonce = $_GET["nonce"];        $token = TOKEN;        $tmpArr = array($token, $timestamp, $nonce);        sort($tmpArr, SORT_STRING);        $tmpStr = implode($tmpArr);        $tmpStr = sha1($tmpStr);        if($tmpStr == $signature){            header('content-type:text');            echo $echoStr;            exit;        }    }    //响应消息    public function responseMsg()    {        $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];        if (!empty($postStr)){            $this->logger("R \r\n".$postStr);            $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);            $RX_TYPE = trim($postObj->MsgType);                                 //消息类型分离            switch ($RX_TYPE)            {                case "event":                    $result = $this->receiveEvent($postObj);                    break;                case "text":                    $result = $this->receiveText($postObj);                    break;                               default:                    $result = "unknown msg type: ".$RX_TYPE;                    break;            }            $this->logger("T \r\n".$result);            echo $result;        }else {            echo "";            exit;        }    }    //接收事件消息    private function receiveEvent($object)    {        $content = "";        switch ($object->Event)        {            case "subscribe":                $content = "欢迎关注方倍工作室 ";                break;            case "unsubscribe":                $content = "取消关注";                break;            case "CLICK":                switch ($object->EventKey)                {                    case "COMPANY":                        $content = array();                        $content[] = array("Title"=>"方倍工作室", "Description"=>"", "PicUrl"=>"http://discuz.comli.com/weixin/weather/icon/cartoon.jpg", "Url" =>"http://m.cnblogs.com/?u=txw1958");                        break;                    default:                        $content = "点击菜单:".$object->EventKey;                        break;                }                break;            default:                $content = "receive a new event: ".$object->Event;                break;        }        if(is_array($content)){            if (isset($content[0]['PicUrl'])){                $result = $this->transmitNews($object, $content);            }else if (isset($content['MusicUrl'])){                $result = $this->transmitMusic($object, $content);            }        }else{            $result = $this->transmitText($object, $content);        }        return $result;    }    //接收文本消息    private function receiveText($object)    {        $keyword = trim($object->Content);        //多客服人工回复模式        if (strstr($keyword, "请问在吗") || strstr($keyword, "在线客服")){            $result = $this->transmitService($object);            return $result;        }        //自动回复模式        if (strstr($keyword, "文本")){            $content = "这是个文本消息";        }else if (strstr($keyword, "表情")){            $content = "中国:".$this->bytes_to_emoji(0x1F1E8).$this->bytes_to_emoji(0x1F1F3)."\n仙人掌:".$this->bytes_to_emoji(0x1F335);        }else if (strstr($keyword, "单图文")){            $content = array();            $content[] = array("Title"=>"单图文标题",  "Description"=>"单图文内容", "PicUrl"=>"http://discuz.comli.com/weixin/weather/icon/cartoon.jpg", "Url" =>"http://m.cnblogs.com/?u=txw1958");        }else if (strstr($keyword, "图文") || strstr($keyword, "多图文")){            $content = array();            $content[] = array("Title"=>"多图文1标题", "Description"=>"", "PicUrl"=>"http://discuz.comli.com/weixin/weather/icon/cartoon.jpg", "Url" =>"http://m.cnblogs.com/?u=txw1958");            $content[] = array("Title"=>"多图文2标题", "Description"=>"", "PicUrl"=>"http://d.hiphotos.bdimg.com/wisegame/pic/item/f3529822720e0cf3ac9f1ada0846f21fbe09aaa3.jpg", "Url" =>"http://m.cnblogs.com/?u=txw1958");            $content[] = array("Title"=>"多图文3标题", "Description"=>"", "PicUrl"=>"http://g.hiphotos.bdimg.com/wisegame/pic/item/18cb0a46f21fbe090d338acc6a600c338644adfd.jpg", "Url" =>"http://m.cnblogs.com/?u=txw1958");        }else if (strstr($keyword, "音乐")){            $content = array();            $content = array("Title"=>"最炫民族风", "Description"=>"歌手:凤凰传奇", "MusicUrl"=>"http://121.199.4.61/music/zxmzf.mp3", "HQMusicUrl"=>"http://121.199.4.61/music/zxmzf.mp3");         }else{            $content = date("Y-m-d H:i:s",time())."\nOpenID:".$object->FromUserName."\n技术支持 方倍工作室";            // $content = "";        }        if(is_array($content)){            if (isset($content[0])){                $result = $this->transmitNews($object, $content);            }else if (isset($content['MusicUrl'])){                $result = $this->transmitMusic($object, $content);            }        }else{            $result = $this->transmitText($object, $content);        }        return $result;    }    //回复文本消息    private function transmitText($object, $content)    {        if (!isset($content) || empty($content)){            return "";        }        $xmlTpl = "            %s        ";        $result = sprintf($xmlTpl, $object->FromUserName, $object->ToUserName, time(), $content);        return $result;    }    //回复图文消息    private function transmitNews($object, $newsArray)    {        if(!is_array($newsArray)){            return "";        }        $itemTpl = "                    <![CDATA[%s]]>                                            ";        $item_str = "";        foreach ($newsArray as $item){            $item_str .= sprintf($itemTpl, $item['Title'], $item['Description'], $item['PicUrl'], $item['Url']);        }        $xmlTpl = "            %s        %s    $item_str    ";        $result = sprintf($xmlTpl, $object->FromUserName, $object->ToUserName, time(), count($newsArray));        return $result;    }    //回复音乐消息    private function transmitMusic($object, $musicArray)    {        if(!is_array($musicArray)){            return "";        }        $itemTpl = "        <![CDATA[%s]]>                            ";        $item_str = sprintf($itemTpl, $musicArray['Title'], $musicArray['Description'], $musicArray['MusicUrl'], $musicArray['HQMusicUrl']);        $xmlTpl = "            %s        $item_str";        $result = sprintf($xmlTpl, $object->FromUserName, $object->ToUserName, time());        return $result;    }    //字节转Emoji表情    function bytes_to_emoji($cp)    {        if ($cp > 0x10000){       # 4 bytes            return chr(0xF0 | (($cp & 0x1C0000) >> 18)).chr(0x80 | (($cp & 0x3F000) >> 12)).chr(0x80 | (($cp & 0xFC0) >> 6)).chr(0x80 | ($cp & 0x3F));        }else if ($cp > 0x800){   # 3 bytes            return chr(0xE0 | (($cp & 0xF000) >> 12)).chr(0x80 | (($cp & 0xFC0) >> 6)).chr(0x80 | ($cp & 0x3F));        }else if ($cp > 0x80){    # 2 bytes            return chr(0xC0 | (($cp & 0x7C0) >> 6)).chr(0x80 | ($cp & 0x3F));        }else{                    # 1 byte            return chr($cp);        }    }    //日志记录    private function logger($log_content)    {        if(isset($_SERVER['HTTP_APPNAME'])){   //SAE            sae_set_display_errors(false);            sae_debug($log_content);            sae_set_display_errors(true);        }else if($_SERVER['REMOTE_ADDR'] != "127.0.0.1"){ //LOCAL            $max_size = 1000000;            $log_filename = "log.xml";            if(file_exists($log_filename) and (abs(filesize($log_filename)) > $max_size)){unlink($log_filename);}            file_put_contents($log_filename, date('Y-m-d H:i:s')." ".$log_content."\r\n", FILE_APPEND);        }    }}?>

关于"微信开发Emoji表情的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

表情 消息 图文 文本 标题 多图 工作室 符号 篇文章 工作 示例 分析 开发 内容 手机 手机短信 更多 模式 短信 音乐 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 小米移动互联网科技园 河南云网互联网络科技有限公司 互联网是不是新科技 互联网科技博客 温州喔噻互联网科技有限公司 互联网系的金融科技公司 宝灵互联网科技有限公司 崇明区互联网教育科技诚信经营 阿大互联网科技有限公司 消费医药和互联网科技 深圳市优智互联网科技有限公司 科技互联网的核心竞争力 北京市互联网新科技 云南省自由互联网科技有限公司 广州互联网高科技取餐柜 江苏互联网智能科技产品出厂价 国产互联网科技公司 互联网科技机房 北京天晋互联网科技有限公司 马化腾互联网科技教学 互联网金融 金融科技 远信互联网科技 融势互联网科技 亿人帮互联网科技 成都狮子座互联网科技 互联网科技股有哪些 现代科技和互联网有关系吗 中盈科技互联网信息有限公司 四川互联网展示科技馆设计 利用互联网等科技手段
0