コード例 #1
0
ファイル: crawler.class.php プロジェクト: azolee/FlatCMS
 public function parse($rawUrl = "")
 {
     if ('' == $rawUrl) {
         return;
     }
     $urlDetails = parse_url($rawUrl);
     if (empty($urlDetails['scheme'])) {
         $urlDetails['scheme'] = "http";
     }
     if ("http" != $urlDetails['scheme'] && "https" != $urlDetails['scheme']) {
         return;
     }
     $url = $urlDetails['scheme'] . "://" . $urlDetails['host'] . @$urlDetails['path'] . "/" . (!empty($urlDetails['query']) ? "?" . $urlDetails['query'] : "");
     if (!in_array($url, self::$links)) {
         self::$i++;
         self::$links[] = $url;
         self::$obj->siteURL = $url;
         $returnData = self::$obj->parser();
         self::$links = (array) array_unique(array_merge((array) self::$links, (array) $returnData['domain']));
         if (is_array(@$returnData['domain'])) {
             foreach ($returnData['domain'] as $k => $v) {
                 self::parse(rtrim($v, "/"));
             }
         }
     }
 }