12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- <?php
- $matchs = array();
- $ret = preg_match('/^(?P<express>申通|圆通|中通|汇通|韵达|顺丰|ems|天天|宅急送|邮政|德邦|全峰) *(?P<sn>[a-z\d]{1,})$/i', $this->message['content'], $matchs);
- if(!$ret) {
- return $this->respText('请输入合适的格式, 快递公司+空格+单号(当前仅支持申通,圆通,中通,汇通,韵达,顺丰,EMS,天天,宅急送,邮政,德邦,全峰), 例如: 申通 2309381801');
- }
- $express = $matchs['express'];
- $sn = $matchs['sn'];
- $mappings = array(
- '申通' => 'shentong',
- '圆通' => 'yuantong',
- '中通' => 'zhongtong',
- '汇通' => 'huitongkuaidi',
- '韵达' => 'yunda',
- '顺丰' => 'shunfeng',
- 'ems' => 'ems',
- '天天' => 'tiantian',
- '宅急送' => 'zhaijisong',
- '邮政' => 'youzhengguonei',
- '德邦' => 'debangwuliu',
- '全峰' => 'quanfengkuaidi'
- );
- $images = array(
- 'shentong' => 'http://cdn.kuaidi100.com/images/all/st_logo.gif',
- 'yuantong' => 'http://cdn.kuaidi100.com/images/all/yt_logo.gif',
- 'zhongtong' => 'http://cdn.kuaidi100.com/images/all/zt_logo.gif',
- 'huitongkuaidi' => 'http://cdn.kuaidi100.com/images/all/htky_logo.gif',
- 'yunda' => 'http://cdn.kuaidi100.com/images/all/yd_logo.gif',
- 'shunfeng' => 'http://cdn.kuaidi100.com/images/all/sf_logo.gif',
- 'ems' => 'http://cdn.kuaidi100.com/images/all/ems_logo.gif',
- 'tiantian' => 'http://cdn.kuaidi100.com/images/all/tt_logo.gif',
- 'zhaijisong' => 'http://cdn.kuaidi100.com/images/all/zjs_logo.gif',
- 'youzhengguonei' => 'http://cdn.kuaidi100.com/images/all/yzgn_logo.gif',
- 'debangwuliu' => 'http://cdn.kuaidi100.com/images/all/dbwl_logo.gif',
- 'quanfengkuaidi' => 'http://cdn.kuaidi100.com/images/all/qfkd_logo.gif'
- ) ;
- $code = $mappings[$express];
- $rand = rand();
- $url = "http://wap.kuaidi100.com/wap_result.jsp?rand={$rand}&id={$code}&fromWeb=null&&postid={$sn}";
- $dat = ihttp_get($url);
- $msg = '';
- if(!empty($dat) && !empty($dat['content'])) {
- $reply = $dat['content'];
- preg_match ('/查询结果如下所示.+/', $reply, $matchs);
- $reply = $matchs[0];
-
- preg_match_all('/·(.*?)<br \/>(.*?)<\/p>/', $reply, $matchs);
- $traces = '';
- for ($i = 0; $i < count($matchs[0]); $i++ ) {
- $traces .= $matchs[1][$i]. '-'. $matchs[2][$i]. PHP_EOL;
- }
- $replys = array();
- $replys[] = array(
- 'title' => '已经为你查到相关快递记录:',
- 'picurl' => $images[$code],
- 'description' => $traces,
- 'url' => 'http://m.kuaidi100.com/index_all.html?type='.$code.'&postid='.$sn,
- );
- return $this->respNews ($replys);
-
- }
- return $this->respText ('没有查找到相关的数据' . $msg . '. 请重新发送或检查您的输入格式, 正确格式为: 快递公司+空格+单号, 例如: 申通 2309381801');
-
|