• XML消息解析_php


    初识php——微信消息处理

     1 <?php
     2 
     3 $test = new weixin();
     4 $test->Message();
     5 
     6 class weixin{
     7     public function Message(){
     8         $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
     9         if (!empty($postStr)){
    10             $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
    11             $fromUsername = $postObj->FromUserName;
    12             $toUsername = $postObj->ToUserName;
    13             $createTime = trim($postObj->CreateTime);
    14             $createtime = date('Y/m/d H:i:s', $createTime); 
    15             $msgType = trim($postObj->MsgType);
    16             $result = "FromUserName(来自):{$fromUsername}
    "
    17             ."ToUserName(发送至):{$toUsername}
    "
    18             ."CreateTime(时间):{$createtime}
    "
    19             ."MsgType(消息类型):{$msgType}
    ";
    20             switch ($msgType){
    21                 case "event":
    22                     $result = $result.$this->receiveEvent($postObj);
    23                     break;
    24                 case "text":
    25                     $result = $result.$this->receiveText($postObj);
    26                     break;
    27             }
    28             echo "原始消息
    ";
    29             echo $postStr ;
    30             echo "
    
    解析结果
    ";
    31             echo $result;
    32         }
    33         else{
    34             echo "";
    35             exit;
    36         }
    37     }
    38     
    39     private function receiveEvent($postObj){
    40         $event =  $postObj->Event;
    41         $eventKey = $postObj->EventKey;
    42         $result = "Event(事件):{$event}
    "
    43         ."EventKey(事件值):{$eventKey}";
    44         return $result;
    45     }
    46     
    47     private function receiveText($postObj){
    48         $keyword = trim($postObj->Content);    
    49         $msgId = $postObj->MsgId;
    50         $result = "Content(文本内容):{$keyword}
    "
    51         ."MsgId(文本消息标识号):{$msgId}";
    52         return $result;
    53     }
    54 }
    55 
    56 ?>

     解析结果:

    (1) 菜单单击事件消息解析:

    (2)文本消息解析:

  • 相关阅读:
    windows10更新导致中文乱码
    优化国际网站从一分钟到4~6秒
    修改elementUI组件自带的提示文字并支持国际化
    Python钉钉报警及Zabbix集成钉钉报警
    Go热门开源项目大全
    CentOS7基于ss5搭建Socks5代理服务器
    sass map !default 属性覆盖
    Linux下mv命令高级用法
    设置与查看Linux系统中的环境变量
    Linux下more命令高级用法
  • 原文地址:https://www.cnblogs.com/lahblogs/p/3901599.html
Copyright © 2020-2023  润新知