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

本文实例讲述了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/>-------------------------------------';
    }
  }
}
?>

数据库:

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

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网络编程技巧总结》、《php字符串(string)用法总结》、《PHP中json格式数据操作技巧汇总》及《PHP针对XML文件操作技巧总结》

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

(0)

相关推荐

  • 基于php的微信公众平台开发入门实例

    本文实例讲述了基于php的微信公众平台开发方法.分享给大家供大家参考.具体如下: 最近在做微信公众平台开发,一口气写了二十几个功能,挺有意思的- 今天来分享一下开发经验~ 微信公众平台提供的接口很简单,先看看消息交互流程: 说的通俗一些,用户使用微信发送消息 -> 微信将数据发送给开发者 -> 开发者处理消息并返回数据至微信 -> 微信把返回数据发送给用户,期间数据交互通过XML完成,就这么简单.   下面写个实例,开发微信智能聊天机器人:   1. 注册微信公众平台账号 微信公众平台:

  • php版微信公众平台实现预约提交后发送email的方法

    本文实例讲述了php版微信公众平台实现预约提交后发送email的方法.分享给大家供大家参考,具体如下: 其实这种发送邮件是非常的简单了我们只要接受由用户提交过来的邮箱地址,然后再由php的邮件控制进行邮件发送了,下面看一个综合开发例子. 首先yyuc框架是支持发送email的,在yyuc/yyuc.php 上加上如下代码: require_once(YYUC_LIB.'plugin/SendMail.php'); $sendMail = new SendMail(); 在wx conf.php

  • php 微信公众平台开发模式实现多客服的实例代码

    其实微信公众平台的多客服功能已经出来好久了,并且一出来的时候我就已经为自己的公众号实现了,原本以为大家都已经会了,但是今天还是有人问起这个多客服功能怎么使用,我找了下网上也没什么好的教程,今天我就给大家发一篇比较简单易懂的教程吧 在这篇微信公众平台开发教程中,我们将介绍如何使用开发模式实现多客服系统. 一.回复多客服消息 在新的微信协议中,开发模式也可以接入客服系统. 开发者如果需要让用户使用客服系统,需要在接收到用户发送的消息时,返回一个MsgType为transfer_customer_se

  • PHP实现微信公众号企业号自定义菜单接口示例

    本文实例讲述了PHP实现微信公众号企业号自定义菜单接口.分享给大家供大家参考,具体如下: define(AppId, "wx666cae44xxxxxx2");//定义AppId,需要在微信公众平台申请自定义菜单后会得到 define(AppSecret, "d77026a714d443a01d0229xxxxxxxx");//定义AppSecret,需要在微信公众平台申请自定义菜单后会得到 include("menu.php");//引入微信类

  • PHP memcache在微信公众平台的应用方法示例

    本文实例讲述了PHP memcache在微信公众平台的应用方法.分享给大家供大家参考,具体如下: 现在微信公众平台大多数互动都是用户发送信息->微信分析并返回结果,这种模式功能比较单一.这里介绍另一种互动模式:用户发送信息->微信分析信息并提示下一步操作->用户发送信息->.......->微信返回结果.本文介绍运用sae里的memcache实现以上模式. 思路: 1.用户发送消息,微信会记录用户唯一的openid,将它的值赋予$fromUsername. 2.用memcac

  • PHP实现微信模拟登陆并给用户发送消息的方法【文字,图片,图文】

    本文实例讲述了PHP实现微信模拟登陆并给用户发送消息的方法.分享给大家供大家参考,具体如下: <?php /* 原作者:https://github.com/itziy/wechat 修改:Server getUserFakeid函数 获取fakeid的正则匹配公式 调用方式简单说明: $arr = array( 'account' => '公众平台帐号', 'password' => '密码' ); $w = new Weixin($arr); $w->getAllUserInf

  • php微信公众号开发模式详解

    学习步骤:分四章来讲述这部分内容,下面是每章的大致内容. 1.了解开发模式与编辑模式,开发前的一些准备. 2.开发模式用户.微信服务器.个人服务器是如何交互的.什么是接口. 3.各种接口功能的调用与实现. 4.js-SDK的调用 微信公众号开发两种模式:编辑模式和开发模式.编辑模式比较简单,你不需要操作任何的代码,只需要借助微信提供的功能来管理自己的微信公众号.这种方式开发的页面比较简单,主要用来实现文章的推送等功能.开发者模式则能通过自己的后台服务器与微信关注用户实现更多的交互作用,调用微信的

  • 验证token、回复图文\文本、推送消息的实用微信类php代码

    本文实例为大家分享了用于验证token,回复图文.文本,向用户推送消息等功能的微信类,具体代码如下 <?php class Wechat{ private $data = array(); public function __construct($token){ $this -> auth($token, $wxuser) || exit; if(IS_GET){ echo($_GET['echostr']); exit; }else{ $xml = file_get_contents(&qu

  • php实现发送微信模板消息的方法

    本文实例讲述了php实现发送微信模板消息的方法.分享给大家供大家参考.具体如下: 该方法基于thinkphp实现实现,具体OrderPush.class.php文件如下: 复制代码 代码如下: <?php namespace Org\Weixin; /**  * Created by PhpStorm.  * User: StandOpen  * Date: 15-1-7  * Time: 9:41  */ class OrderPush {     protected $appid;    

  • 关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题

    相信很多人会跟我一样,token验证之后,发送消息给订阅号,没有消息返回. 以下,说一下我辛苦调试得到的解决办法: 首先,token验证: 自己写的token一直验证失败,找了好久,没有发现bug.实在没办法,就用了官方的示例代码.并且通过示例代码调试,发现了一个让我吐血的bug(也不算bug): token验证貌似要求字符编码格式!!!! 官方的示例代码,直接上传到服务器,token直接过! 把官方示例代码改为UTF-8格式,再上传覆盖,token失败!失败!失败! 后来,把自己写的修改为AN

  • PHP微信公众号自动发送红包API

    本文实例为大家分享了PHP微信公众号自动发送红包API代码,分享给大家供大家参考.具体如下: 贴出核心接口代码至于数据自己填写,接口测试OK wechat_packet.php <!--?php /** * 发送红包接口 * Created by PhpStorm. * User: ADKi * Date: 2016/4/25 0025 * Time: 15:25 */ class wechat_packet{ private $url = 'https://api.mch.weixin.qq.

随机推荐