Как получить все локальные ссылки на сайт?

Статус
В этой теме нельзя размещать новые ответы.

dandandan

Мой дом здесь!
Регистрация
7 Авг 2008
Сообщения
1.036
Реакции
292
Ищу скрипт или класс на рнр для получения всех ссылок (локальных) на сайте в массив или в файл.
 
ну например так:

preg_match_all("!<a.*?href=\"?'?([^ \"'>]+)\"?'?.*?>(.*?)</a>!is",$str,$ok);

$internals = array();
for ($i=0; $i<count($ok[1]); $i++) {
if( preg_match( "!^http://!is", $ok[1][$i];
$internals[] = $ok[1][$i];
}

ну а по страницам сайта при помощи file_get_contents, я думаю, ты сам пройдешся...
 
Вот получил я ссылки на главной странице. дальше перешел на первой полученной ссылке. В результате на 2ой странице у меня образовался новый массив (ссылки которые были на главной и плюс ссылки третьего уровня). Как их аккуратно слить с первым массиовом, чтобы в начальный массив добавились только уникальные?
 
PHP:
$links = array()

function ... ()
{
   global $links;
   $pageLinks = getPageLink - вышеозначенная функция
   foreach( $pageLinks as $link ) {
       if( in_array( $link, $links )) continue;
       $links[] = $link;
   }
}
 
сначала сложить массивы в один

array_merge ( array array1, array array2 [, array ...] )

потом убрать повторяющиеся элементы
array_unique ( array array )

ну и вообще функции работы с массивами посмотри
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху