Добро пожаловать!
Здесь вы можете найти ответ на интересующий вас вопрос в отрасли сайтостроения, познакомится ближе с web технологиями и web стандартами.

Заметки

Извлечение всех ссылок URL на странице

Иногда бывает нужно загрузить HTML-страницу и извлечь из неё все ссылки из тэгов <a href=...> Для этого воспользуемся функцией preg_match_all($rgexp, $str, $matches); которая извлекает из строки $str все подстроки, удовлетворяющие заданному регулярному выражению $regexp и помещает все найденные варианты в массив $matches.

<?php
$str 
file_get_contents("http://someserver.com/");
preg_match_all("|<a\s[^>]*href=[\"']?([^>\"'#\s]+)[\"']?[^>]*>|is"$str$matches);
foreach(
$matches[1] as $line)
  echo 
$line."<br/>\n";
?>

Главное здесь — правильно составить регулярное выражение, которому будут соответствовать только правильные URL-адреса. Не будем особо вдаваться в подробности работы регулярных выражений, им посвящены целые книги. Хотя если вы раньше составляли регулярные выражения в скриптах на Perl, можно напрямую перенести их в функцию preg_match_all, потому что она понимает Perl-выражения.

Итак, приведённый выше скрипт считывает в переменную $str целевой HTML-файл (это может быть URL-адрес документа или путь файла на диске). Потом отработает функция поиска и на выходе мы получим массив $matches удовлетворяющих выражению подстрок. С помощью конструкции foreach выведем все найденные URL на экран. Обратите внимание, что массив найденных подстрок будет находиться в массиве $matches[1].