PHP使用微信开发模式实现搜索已发送图文及匹配关键字回复的方法


Posted in PHP onSeptember 13, 2017

本文实例讲述了PHP使用微信开发模式实现搜索已发送图文及匹配关键字回复的方法。分享给大家供大家参考,具体如下:

用户发送关键字,搜索相应的图文进行回复。

模拟登陆就不说了

右键看“已发送”图片页的源代码,图文部分是json格式的。

{"msg_item":[{"id":80630,"type":9,"fakeid":"2397007301","nick_name":"每天学点心理学","date_time":1403445168,"content":"","source":"mass","msg_status":2,"title":"(第167期)| 我读过的具有正能量的一篇文章,为你取暖","desc":"传说世间的一切生灵皆可修炼成仙,而猫自然在其中。每修炼二十年,猫就会多长出一条尾巴,等到有...","content_url":"http:\/\/mp.weixin.qq.com\/s?__biz=MjM5NzAwNzMwMQ==&mid=201393381&idx=1&sn=5351cb8d440365c24a6abb709e4e0d8c#rd","show_type":1,"file_id":201393328,"app_sub_type":3,"comment_url":"","has_reply":0,"refuse_reason":"","multi_item":[{"seq":0,"cover":"https:\/\/mmbiz.qlogo.cn\/mmbiz\/jOtiajqZ1n62uicM0XBZkqUB5BdJRdCMt0Y3CDIApNglh6Lj5zcmfm0mqN0YyGkNvekxP7j0uqs95AQejwZpTfCg\/0","title":"(第167期)| 我读过的具有正能量的一篇文章,为你取暖","digest":"传说世间的一切生灵皆可修炼成仙,而猫自然在其中。每修炼二十年,猫就会多长出一条尾巴,等到有...","content_url":"http:\/\/mp.weixin.qq.com\/s?__biz=MjM5NzAwNzMwMQ==&mid=201393381&idx=1&sn=5351cb8d440365c24a6abb709e4e0d8c#rd","file_id":201393328,"content":"","source_url":"","author":"","show_cover_pic":0,"vote_id":[]}],"to_uin":0,"send_stat":{"total":1656,"succ":1656,"fail":0}},{"id":80444,"type":2,"fakeid":"2397007301","nick_name":"每天学点心理学","date_time":1403358199,"source":"mass","msg_status":2,"comment_url":"","has_reply":0,"refuse_reason":"","multi_item":[],"to_uin":0,"send_stat":{"total":1631,"succ":1631,"fail":0}},{"id":80222,"type":9,"fakeid":"2397007301","nick_name":"每天学点心理学","date_time":1403272191,"content":"","source":"mass","msg_status":2,"title":"(第166期)| 想要的超能力,来玩一个投票娱乐下吧~","desc":"虽然没啥了不起的,但还是想要的这种超能力…-----------END-----------可以点击右上角『","content_url":"http:\/\/mp.weixin.qq.com\/s?__biz=MjM5NzAwNzMwMQ==&mid=201376620&idx=1&sn=a9ccae0826f5aa74476dc5936cec51f2#rd","show_type":1,"file_id":201370866,"app_sub_type":3,"comment_url":"","has_reply":0,"refuse_reason":"","multi_item":[{"seq":0,"cover":"https:\/\/mmbiz.qlogo.cn\/mmbiz\/jOtiajqZ1n62MibMmurxXEVsDbwZglIq1wSxian2K6cH8Du0l3fMgQ2GdmbovicAXpSmjslI9iaCXicCTJC5Mef8ggBA\/0","title":"(第166期)| 想要的超能力,来玩一个投票娱乐下吧~","digest":"虽然没啥了不起的,但还是想要的这种超能力…-----------END-----------可以点击右上角『","content_url":"http:\/\/mp.weixin.qq.com\/s?__biz=MjM5NzAwNzMwMQ==&mid=201376620&idx=1&sn=a9ccae0826f5aa74476dc5936cec51f2#rd","file_id":201370866,"content":"","source_url":"","author":"","show_cover_pic":0,"vote_id":[45050]},{"seq":1,"cover":"https:\/\/mmbiz.qlogo.cn\/mmbiz\/jOtiajqZ1n62MibMmurxXEVsDbwZglIq1w4hNsMaia4p6SXGIUU6NBwbyEbpFL2mESOJ0yuP5pJhzavHzgnyPMM1A\/0","title":"【美文】| 挥之不去的无奈","digest":"躺在床上,过往的一幕幕在脑海掠过。四年的坚持,抑或说是7年的梦想,当它破灭时,仅仅淡然一笑,谈何容易?其实行","content_url":"http:\/\/mp.weixin.qq.com\/s?__biz=MjM5NzAwNzMwMQ==&mid=201376620&idx=2&sn=21a7f8715f4b2ecc2f484fd3b04ca554#rd","file_id":201371031,"content":"","source_url":"","author":"","show_cover_pic":1,"vote_id":[]},{"seq":2,"cover":"https:\/\/mmbiz.qlogo.cn\/mmbiz\/jOtiajqZ1n62MibMmurxXEVsDbwZglIq1wNzqasiaEPYAGXQQdLnkaiaW56ueicHelZFJCjWUA3dg6ibWw15N1KQtEeQ\/0","title":"【插画】| 不是所有的伤口都能自我愈合","digest":"愿每一个相信爱的女生,都能成为爱里打不倒的战士。没有人比你更美好,因为这个世界上不会再有第二个你了。少一点依","content_url":"http:\/\/mp.weixin.qq.com\/s?__biz=MjM5NzAwNzMwMQ==&mid=201376620&idx=3&sn=ca0a2122e1c5d8f848fd6412ea347664#rd","file_id":201374122,"content":"","source_url":"","author":"","show_cover_pic":0,"vote_id":[]}],"to_uin":0,"send_stat":{"total":1610,"succ":1610,"fail":0}},{"id":79872,"type":1,"fakeid":"2397007301","nick_name":"每天学点心理学","date_time":1403185708,"content":"朋友们,今天休息,不发咯,你们也早点休息哟〜\/:<L>","source":"mass","msg_status":2,"comment_url":"","has_reply":0,"refuse_reason":"","multi_item":[],"to_uin":0,"send_stat":{"total":1584,"succ":1584,"fail":0}},{"id":79544,"type":9,"fakeid":"2397007301","nick_name":"每天学点心理学","date_time":1403098674,"content":"","source":"mass","msg_status":2,"title":"(第165期)| 孩子为什么会偷东西","desc":"小孩偷东西是一种很严重的行为,但好像是很多孩子在成长过程中都有偷东西一个阶段,父母该如何教育呢?孩子为什么会","content_url":"http:\/\/mp.weixin.qq.com\/s?__biz=MjM5NzAwNzMwMQ==&mid=201345041&idx=1&sn=b2ef53dcfd93db2737240f932a0297d5#rd","show_type":1,"file_id":201240144,"app_sub_type":3,"comment_url":"","has_reply":0,"refuse_reason":"","multi_item":[{"seq":0,"cover":"https:\/\/mmbiz.qlogo.cn\/mmbiz\/jOtiajqZ1n60ZFQ7comgKCEXlkibVZXmJf1PqAs4czgl0AiakwonBibD5DT2ytE6tA8VJdBVibuS92XgWXbuMibKmicRg\/0","title":"(第165期)| 孩子为什么会偷东西","digest":"小孩偷东西是一种很严重的行为,但好像是很多孩子在成长过程中都有偷东西一个阶段,父母该如何教育呢?孩子为什么会","content_url":"http:\/\/mp.weixin.qq.com\/s?__biz=MjM5NzAwNzMwMQ==&mid=201345041&idx=1&sn=b2ef53dcfd93db2737240f932a0297d5#rd","file_id":201240144,"content":"","source_url":"","author":"虫子","show_cover_pic":1,"vote_id":[]},{"seq":1,"cover":"https:\/\/mmbiz.qlogo.cn\/mmbiz\/jOtiajqZ1n60ZFQ7comgKCEXlkibVZXmJfRPJl3P72Vh8l46B1m6EvZY4IWRnFB0AHkxrTSbghME9TxmFyibbxXdQ\/0","title":"八张图让你明白很多","digest":"小图片,大道理。-----------END-----------可以点击右上角『分享至朋友圈』。微信号:m","content_url":"http:\/\/mp.weixin.qq.com\/s?__biz=MjM5NzAwNzMwMQ==&mid=201345041&idx=2&sn=63ae37b620566f2dc80d4b229b98a5f4#rd","file_id":201240187,"content":"","source_url":"","author":"虫子","show_cover_pic":0,"vote_id":[]}],"to_uin":0,"send_stat":{"total":1568,"succ":1568,"fail":0}}]}

直接解析json即可。
<?php
$wechatObj = new wechatappmsg();
$wechatObj->getappmsg('这里是json');
class wechatappmsg{
  function getappmsg($content){
    //require_once 'db.php';
    $jsonstr=$content;
    //   $jsonstr='{"msg_item":[{"id":79544,"type":9},{}]}';
    $jsonstr = iconv('gbk', 'utf-8', $jsonstr);
    $result = json_decode($jsonstr);
    $name=$result->msg_item;
    // var_dump($name);
    //   echo '<br/>json:'.$result;
    $size=count($name);
    echo '<br/>size:'.$size;
    //  exit;
    for($i=0;$i<$size;$i++){
      $multi_item=$name[$i]->multi_item;
      $size2=count($multi_item);
      $app_id=$name[$i]->app_id;
      $create_time=$name[$i]->date_time;//发送时间
      //  echo '<br/>app_id:'.$app_id;
      $create_time=date ("Y-m-d H:i:s", $create_time);//时间转换
      echo '<br/>create_time:'.$create_time;
      for($j=0;$j<$size2;$j++){
        $title=$multi_item[$j]->title;//标题
        $pic_url=$multi_item[$j]->cover;//图片地址
        $digest=$multi_item[$j]->digest;//简要
        $content_url=$multi_item[$j]->content_url;//图文地址
        $t = iconv('utf-8', 'gbk', $title);
        echo '<br/>title:'.$t;
        echo '<br/>Link:'.$content_url;
        preg_match("/mid=([0-9]+)&/",$content_url,$string);
        $app_mid=$string[1];//一次发送的多个图文,这个ID值可以判断这两个图文是同一次发送的
        echo '<br/>app_mid:'.$app_mid;
        //这里可以直接进行入库
//$x=saveappmsg($pic_url,$title,$digest,$content_url,$create_time,$app_mid);
 sleep(3);
      }
      echo '<br/>-------------------------------------';
    }
  }
}
?>

数据库:

PHP使用微信开发模式实现搜索已发送图文及匹配关键字回复的方法

用户回复关键字,然后查询回复相应图文信息。

1》根据期数进行查询:

select app_id from table where title like '%162期%' limit 1;
select * from table where app_id=XXXXX;

2》根据关键字:

select * from table where title like '%故事%' limit 10;

PHP使用微信开发模式实现搜索已发送图文及匹配关键字回复的方法

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php 页面执行时间计算代码
Dec 04 PHP
PHP 模拟登陆MSN并获得用户信息
May 16 PHP
PHP连接SQLServer2005 的问题解决方法
Jul 19 PHP
php学习笔记之 函数声明
Jun 09 PHP
PHP调用Webservice实例代码
Jul 29 PHP
浅析Mysql 数据回滚错误的解决方法
Aug 05 PHP
php实现图片缩放功能类
Dec 18 PHP
kohana框架上传文件验证规则写法示例
Jul 14 PHP
php实现获取文件mime类型的方法
Feb 11 PHP
PHP/HTML混写的四种方式总结
Feb 27 PHP
PHP实现通过CURL上传文件功能示例
May 30 PHP
php中pcntl_fork创建子进程的方法实例
Mar 14 PHP
PHP memcache在微信公众平台的应用方法示例
Sep 13 #PHP
深入解析Laravel5.5中的包自动发现Package Auto Discovery
Sep 13 #PHP
PHP 实现公历日期与农历日期的互转换
Sep 13 #PHP
php生成条形码的图片的实例详解
Sep 13 #PHP
php之可变函数的实例详解
Sep 13 #PHP
PHP实现一个多功能购物网站的案例
Sep 13 #PHP
php之可变变量的实例详解
Sep 12 #PHP
You might like
认识并使用PHP超级全局变量
2010/01/26 PHP
JavaScript与HTML结合的基本使用方法整理
2015/10/12 PHP
微信支付开发订单查询实例
2016/07/12 PHP
Yii中的cookie的发送和读取
2016/07/27 PHP
php实现异步将远程链接上内容(图片或内容)写到本地的方法
2016/11/30 PHP
php抽象类和接口知识点整理总结
2019/08/02 PHP
Save a File Using a File Save Dialog Box
2007/06/18 Javascript
JS中confirm,alert,prompt函数区别分析
2011/01/17 Javascript
Javascript中克隆一个数组的实现代码
2013/12/06 Javascript
jQuery.event兼容各浏览器的event详细解析
2013/12/18 Javascript
jquery ajax 如何向jsp提交表单数据
2015/08/23 Javascript
JavaScript中创建对象的模式汇总
2016/04/19 Javascript
JavaScript中ES6 Babel正确安装过程
2016/07/18 Javascript
基于JavaScript实现Tab选项卡切换效果
2016/11/24 Javascript
js仿小米手机上下滑动效果
2017/02/05 Javascript
javascript实现日期三级联动下拉框选择菜单
2020/12/03 Javascript
Angular4学习笔记router的简单使用
2018/03/30 Javascript
Vue2.0+Vux搭建一个完整的移动webApp项目的示例
2019/03/19 Javascript
node-red File读取好保存实例讲解
2019/09/11 Javascript
vue项目中使用rem,在入口文件添加内容操作
2020/11/11 Javascript
[07:25]DOTA2-DPC中国联赛2月5日Recap集锦
2021/03/11 DOTA
Python使用chardet判断字符编码
2015/05/09 Python
pandas取出重复数据的方法
2019/07/04 Python
python+Django实现防止SQL注入的办法
2019/10/31 Python
python 实现人和电脑猜拳的示例代码
2020/03/02 Python
Python StringIO及BytesIO包使用方法解析
2020/06/15 Python
init进程的作用
2015/08/20 面试题
各营销点岗位职责范本
2014/03/05 职场文书
我的理想演讲稿
2014/04/30 职场文书
2014年群众路线党员自我评议
2014/09/24 职场文书
2014年机关作风建设工作总结
2014/10/23 职场文书
2015年试用期工作总结
2014/12/12 职场文书
python爬虫之selenium库的安装及使用教程
2021/05/23 Python
windows11怎么查看wifi密码? win11查看wifi密码的技巧
2021/11/21 数码科技
Redis基本数据类型Zset有序集合常用操作
2022/06/01 Redis
Go 内联优化让程序员爱不释手
2022/06/21 Golang