Как спарсить

Тема в разделе "Регулярные выражения", создана пользователем g-prime, 20 окт 2009.

Статус темы:
Закрыта.
Модераторы: xpert13
  1. g-prime

    g-prime איך בין גאָט

    Регистр.:
    11 авг 2008
    Сообщения:
    779
    Симпатии:
    1.131
    Достать ссылку из текста

    Добрый день, имеется текст такого вида:

    PHP:
    Пожалуйста активируйте ваш аккаунт по следующей ссылке:
    www.site.com/register.php?activate=8afa59cbd780af3f94a9aceb55494f6b
    Как из него достать ссылку:
    PHP:
    www.site.com/register.php?activate=8afa59cbd780af3f94a9aceb55494f6b
    ЗЫ значение 8afa59cbd780af3f94a9aceb55494f6b - каждый раз будет разным ;)

    Заранее спасибо
     
  2. whitewolff

    whitewolff Лимонадный Джо :)

    Регистр.:
    29 май 2007
    Сообщения:
    168
    Симпатии:
    33
    PHP:
    $str 'Пожалуйста активируйте ваш аккаунт по следующей ссылке:
    www.site.com/register.php?activate=8afa59cbd780af3f94a9aceb55494f6b' 
    ;
    $pos strpos $str 'www.site.com/register.php?' ) ;
    $activate substr $str $pos ) ;
    поидее должно работать
     
    g-prime нравится это.
  3. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    Я бы посоветовал воспользоватся таким способом:
    PHP:

    if (preg_match('%register\.php\?activate=([a-f0-9]{32})%i'$body$ret)) {
        
    $activate $ret[1];
    } else {
        
    $activate false;
    }
    Здесь нету ограничений на язык письма и адрес домена, что полезно например для авторегеров, где много адресов и где не будет работать вышеприведенный вариант.
     
    g-prime нравится это.
  4. tarzan

    tarzan Создатель

    Регистр.:
    10 ноя 2007
    Сообщения:
    13
    Симпатии:
    2
    Подвожу финальную черту, так чтобы скрипт парсил все сайты имеющие активационную ссылку вида: site.com/register.php?activate=8afa59cbd780af3f94a9aceb55494f6b
    PHP:
    preg_match('%register\.php\?activate=([a-f0-9]{32})%i'$body$ret); 
    $activateLink "http://".$_SERVER['HTTP_HOST'].$ret[1];
     
  5. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    tarzan - массив $_SERVER содержит данные ТВОЕГО сервера =)
    т.е. того, где запускается скрипт.

    Ты собираешься парсить свои собственные ссылки активации ? =)
     
Статус темы:
Закрыта.