проблема с ссылками в curl скрипте

Тема в разделе "PHP", создана пользователем k1ttos, 22 окт 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. k1ttos

    k1ttos Прохожие

    Есть curl скрипт, который автологинится на сайт, переходит по нужным ссылкам итд. Страница выводится с помощью:
    Код:
    $result = curl_exec($ch);
    print $result;
    Проблема в ссылках на полученной странице, они имеют вид" http://localhost/sj/profile.php" (т.е. путь"http://localhost/sj/" до самого скрипта, который выполняется), в то время как они должны выглядит например "http://js.com/profile.php"

    Существует ли способ заменить ссылки на нужные, или способ, что бы они с самого начала указывали на правильный сайт?
     
  2. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    890
    Симпатии:
    561
    Дело в том, что там даны относительные пути. Типа href="/root.jpg". Замени их на абсолютные
     
  3. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    придёться вставлять домен:
    PHP:
    $result curl_exec($ch);
    print 
    str_replace('href="''href="http://supersite/'$result);
     
  4. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    890
    Симпатии:
    561
    А вот так лучше не делать! Что скрипт сделает с
    HTML:
    
    href=http://ya...
    href ='/boob/ya.ru'
    
    Сразу пол ссылок работать не будет:D Тем более ещё половину не заберёт т.к многие пишут " ' или вообще без кавычек.
    PHP:
    function parse_html_url$html){
     
    preg_match_all('|href\s*=\s*[\'"]*([^\'"\s]+)|is'$html$array_url_1);
     foreach (
    $array_url_1[1] as $val){
      if(!
    substr_count($val'http://')) {
       if(
    $val{0}!='/'){
        
    $html str_replace($val'http://DOMEN/'.$val$html);
       }else{
        
        
    $html str_replace($val'http://DOMEN'.$val$html);
       }
      }

     } 
     
     return 
    $html;
    }
    echo 
    parse_html_url(' href ="uto/asds.tt"  href = "/url/gif.tt"');
    Набросал щас.
     
Статус темы:
Закрыта.