Обработка ссылок.

Discussion in 'PHP' started by rcc0023, 7 Dec 2008.

  1. rcc0023

    rcc0023 Elder - Старейшина

    Joined:
    3 Jul 2008
    Messages:
    100
    Likes Received:
    6
    Reputations:
    0
    Скрипт загружает контекст внешней страницы, значение которой присваивается переменной $content

    Данный код делает из скрипта полноценный прокси...
    Что нужно изменить чтоб скрипт стал полу-прокси. То есть загружал через себя страницы (изменял ссылки вида <a_href=></a>), но остальной контекст брал с внешнего сайта (ссылки на стиль, картинки, флеш делал прямыми)?
     
  2. rcc0023

    rcc0023 Elder - Старейшина

    Joined:
    3 Jul 2008
    Messages:
    100
    Likes Received:
    6
    Reputations:
    0
    не проходите мимо... =/ очень нужна помощь...
     
  3. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Давай ссылку на нужный сайт, откуда надо парсить и изменять, если не можешь - то образец исходников нужного сайта + четкое условие того, что надо спарсить, т.е. вот это " <a_href=></a>)" не совсем понятно, + четкое условие на что заменить внутри, не трогая остальное

    а также почитай вот эту страницу

    /threadnav92492-7-10.html

    от начала и до конца
     
    1 person likes this.
  4. rcc0023

    rcc0023 Elder - Старейшина

    Joined:
    3 Jul 2008
    Messages:
    100
    Likes Received:
    6
    Reputations:
    0
    Интересненько...

    А сайт такой: http://demo.heroeswm.ru/demobattle.php

    Из такого кода replace($href_array[0],$href_array[0],$href_array[2],"?session=",""); получается <a href='?session='kdsfjhskdjfhkjsdhfkjhskjs?> , kdsfjhskdjfhkjsdhfkjhskjs - заходированный юрл, что и нужно.

    это <img src='i/pic.jpg'> нужно заменить на <img src='http://demo.heroeswm.ru/i/pic.jpg'>

    это <embed src="swffiles/combat1.swf?ver=268"
    на <embed src="http://demo.heroeswm.ru/swffiles/combat1.swf?ver=268"
     
    #4 rcc0023, 7 Dec 2008
    Last edited: 7 Dec 2008
  5. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    rcc0023 Вроде бы так. Заменит все относительные ссылки, а абсолютные оставит неизменными
    PHP:
    $in='<a href="/swffiles/combat1.swf?ver=268">asdasd</a>';

    $newsite='http://site.com/';
    echo 
    preg_replace('#(src|href)=[\'"](?!http)/?([^\'"]*)[\'"]#i',"\$1='$newsite\$2'",$in);
     
    _________________________
    1 person likes this.
  6. rcc0023

    rcc0023 Elder - Старейшина

    Joined:
    3 Jul 2008
    Messages:
    100
    Likes Received:
    6
    Reputations:
    0
    А как это все будет выглядеть при использовании replace ??
     
  7. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    rcc0023 Я не знаю, что это за функция у тебя) Для моего кода - в качестве $in берешь всю страницу исходную, тогда preg_replace все заменит.
     
    _________________________