本文实例讲述了php使用微信开发模式实现搜索已发送图文及匹配关键字回复的方法。分享给大家供大家参考,具体如下:
用户发送关键字,搜索相应的图文进行回复。
模拟登陆就不说了
右键看“已发送”图片页的源代码,图文部分是json格式的。
直接解析json即可。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
<?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》根据期数进行查询:
1
2
|
select app_id from table where title like '%162期%' limit 1; select * from table where app_id=xxxxx; |
2》根据关键字:
1
|
select * from table where title like '%故事%' limit 10; |
希望本文所述对大家php程序设计有所帮助。
原文链接:http://blog.csdn.net/macwhirr123/article/details/33739685