Парсинг ссылок

Тема в разделе "PHP", создана пользователем LEXAlForpostl, 10 сен 2011.

Модераторы: latteo
  1. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    708
    Симпатии:
    225
    Здравствуйте.
    Уважаемые форумчане, подскажите, пожалуйста, как со страницы site1.ru/forpost/line.php все внутренние ссылки. Причём они имеют разные виды:
    /index.php
    line2.php
    site1.ru/forpost.php
    А также есть внешние ссылки.
    Необходимо спарсить только внутренние ссылки и вывести в виде(для каждого примера соответственно:(
    site1.ru/index.php
    site1.ru/forpost/line2.php
    site1.ru/forpost.php
     
  2. Красавчег

    Красавчег Завсегдатай

    Регистр.:
    15 мар 2010
    Сообщения:
    902
    Симпатии:
    298
    Используйте программу Web Link Validator.
     
  3. steel_HILL

    steel_HILL Постоялец

    Регистр.:
    15 апр 2010
    Сообщения:
    53
    Симпатии:
    14
    PHP:
    $url_domen "http://site1.ru/";
    $url_dir "forpost.php/";
    preg_match_all('~href="([^\"<>]+?)"~is'$html$url_Arr);
    foreach (
    $url_Arr[1] as $url_str) {
        if(
    substr($url_str,0,15) == $url_domen) {
            
    $url_res[] = $url_str;
            continue;
        }
        if(
    substr($url_str,0,1) == '/'$url_res[] = $url_domen.$url_str;
        if(
    strpos($url_str'/'1) === FALSE$url_res[] = $url_domen.$url_dir.$url_str;
    }
    print_r($url_res);
     
    LEXAlForpostl нравится это.