XML消息解析_php
2024-08-30 22:08:56
初识php——微信消息处理
<?php $test = new weixin();
$test->Message(); class weixin{
public function Message(){
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
if (!empty($postStr)){
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
$fromUsername = $postObj->FromUserName;
$toUsername = $postObj->ToUserName;
$createTime = trim($postObj->CreateTime);
$createtime = date('Y/m/d H:i:s', $createTime);
$msgType = trim($postObj->MsgType);
$result = "FromUserName(来自):{$fromUsername}\r\n"
."ToUserName(发送至):{$toUsername}\r\n"
."CreateTime(时间):{$createtime}\r\n"
."MsgType(消息类型):{$msgType}\r\n";
switch ($msgType){
case "event":
$result = $result.$this->receiveEvent($postObj);
break;
case "text":
$result = $result.$this->receiveText($postObj);
break;
}
echo "原始消息\r\n";
echo $postStr ;
echo "\r\n\r\n解析结果\r\n";
echo $result;
}
else{
echo "";
exit;
}
} private function receiveEvent($postObj){
$event = $postObj->Event;
$eventKey = $postObj->EventKey;
$result = "Event(事件):{$event}\r\n"
."EventKey(事件值):{$eventKey}";
return $result;
} private function receiveText($postObj){
$keyword = trim($postObj->Content);
$msgId = $postObj->MsgId;
$result = "Content(文本内容):{$keyword}\r\n"
."MsgId(文本消息标识号):{$msgId}";
return $result;
}
} ?>
解析结果:
(1) 菜单单击事件消息解析:
(2)文本消息解析:
最新文章
- JS学习:第二周——NO.2正则
- sqlserver字符串转日期
- 关于使用mybatis插件自动生成代码
- hdu 3722
- 如何在多个项目中分离Asp.Net Core Mvc的Controller和Areas
- ABAP系统值
- nova file injection的原理和调试过程
- JavaScript写九九乘法表
- dos命令行实践
- IE6图片元素img下出现多余空白问题
- Java中wait()和notify()方法的使用
- Sql2008 全文索引 简明教程
- LintCode 394: First Will Win
- NOIP 初赛笔记
- javascript的事件冒泡【转】
- 详解Python中的迭代器和使用
- 9、par画图参数
- Base64及其Python实现
- .net开发工具集合
- 矩阵奇异值分解(SVD)
热门文章
- Android BGABadgeView:BGABadgeFrameLayout(5)
- PyUV: Python高性能网络库
- HDU 4479 权递增的最短路问题
- [luoguP1082] 同余方程(扩展欧几里得)
- Codeforces Beta Round #85 (Div. 1 Only) C (状态压缩或是数学?)
- hdu 1166 树状数组模板题
- java设计模式——单例设计模式
- easyui webuploader 文件上传演示
- CSS+Jquery实现QQ分组列表
- mysql排序关于英文字母abcd..xyz排序。