The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Поиск всех ссылок на сайте, !*! qwer, 01-Авг-08, 16:07  [смотреть все]
В общем задача такая. Требуется написать рекурсивную функцию для поиска всех ссылок внутри сайта. Допустим у меня есть сайт http://aaa.ru. Надо чтобы функция обходила сайт и вывела в файл или в массив все ссылки, как с первой страницы так и со всех внутренних, причем повторяющихся не должно быть. Давно сам не сталкивался с рекурсиями, если кто может подскажите.

Для вывода всех ссылок с главной страницы код у меня есть:

function showTree($home)
{
  static $count;  
  $s=file_get_contents($home);
  //Обработка $s
  $links = get_link($s);
  for($i=0; $i < count($links); $i++){
   $lnk=trim($links[$i][2]);
   $us=false;
   for ($j=0;$j<count($tree);$j++){
    if ($tree[$j]==$lnk){
     $us=true;    
    }
   }
   if (!$us){
    $count = (isset($count)) ? ++$count : 0;
    $tree[$count]=$lnk;      
   }  
  }
}

function get_link($text)
{
    $count = preg_match_all("/<a[^>]+href=([\"']?)([^\\s\"'>]+)\\1/is", $text, $matches, PREG_SET_ORDER);
/*   for($i=0; $i < count($matches); $i++) {
        $links[$matches[$i][2]] = 1;

    } */
    return $matches;
}




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру