$v ){ $arr = array(); // 种子基本信息处理 // 偏移量 $offset = strpos($v,self::downloadPrefix); // 截取 $urlTemp = substr($v,$offset,$len); // 种子地址 $arr['url'] = substr($urlTemp,0,strpos($urlTemp,$downloadStrEnd)); // 种子id[单独计算] $idOffset = strpos($v,self::detailsPrefix); $idTemp = substr($v, $idOffset, $idlen); $id = substr($idTemp,0,strpos($idTemp,$idStrEnd)); $arr['id'] = substr($id,$idStrLen); // 获取主标题 $arr['h1'] = selector::select($v, '//h3'); $arr['h1'] = selector::select($arr['h1'], '//a'); // 获取副标题(倒序算法) // 偏移量 $h2StrStart = '

'; $h2StrEnd = '

'; $h2_endOffset = strpos($v,$h2StrEnd); if ($h2_endOffset === false) { $arr['title'] = ''; }else { // 方法一 $temp = substr($v, 0, $h2_endOffset); $h2_offset = strrpos($temp,$h2StrStart); $h2_len = strlen($temp) - $h2_offset - strlen($h2StrStart); // 副标题 $arr['title'] = substr($temp, $h2_offset + strlen($h2StrStart), $h2_len); // 方法二 [直取副标题] #$arr['title'] = selector::select($v, '//h4'); } // 组合返回数组 self::$TorrentList[$k]['id'] = $arr['id']; self::$TorrentList[$k]['h1'] = $arr['h1']; self::$TorrentList[$k]['title'] = isset( $arr['title'] ) && $arr['title'] ? $arr['title'] : ''; self::$TorrentList[$k]['details'] = self::HOST.self::detailsPrefix.$arr['id']; self::$TorrentList[$k]['download'] = self::HOST.$arr['url']; self::$TorrentList[$k]['filename'] = $arr['id'].'.torrent'; // 种子促销类型解码 【未检测是否免费】 if(strpos($v,self::$getTorrent[0]) === false){ // 不免费 self::$TorrentList[$k]['type'] = 1; }else{ // 免费种子 self::$TorrentList[$k]['type'] = 0; } // 存活时间 // 大小 // 种子数 // 下载数 // 完成数 // 完成进度 } #p(self::$TorrentList); return self::$TorrentList; } }