Как спарсить

Статус
В этой теме нельзя размещать новые ответы.

g-prime

איך בין גאָט
Регистрация
11 Авг 2008
Сообщения
759
Реакции
1.082
Достать ссылку из текста

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

PHP:
Пожалуйста активируйте ваш аккаунт по следующей ссылке:
www.site.com/register.php?activate=8afa59cbd780af3f94a9aceb55494f6b

Как из него достать ссылку:
PHP:
www.site.com/register.php?activate=8afa59cbd780af3f94a9aceb55494f6b

ЗЫ значение 8afa59cbd780af3f94a9aceb55494f6b - каждый раз будет разным ;)

Заранее спасибо
 
Добрый день, имеется текст такого вида:
PHP:
Пожалуйста активируйте ваш аккаунт по следующей ссылке:
www.site.com/register.php?activate=8afa59cbd780af3f94a9aceb55494f6b
Как из него достать ссылку:
PHP:
www.site.com/register.php?activate=8afa59cbd780af3f94a9aceb55494f6b
ЗЫ значение 8afa59cbd780af3f94a9aceb55494f6b - каждый раз будет разным ;)
Заранее спасибо
PHP:
$str = 'Пожалуйста активируйте ваш аккаунт по следующей ссылке:
www.site.com/register.php?activate=8afa59cbd780af3f94a9aceb55494f6b' ;
$pos = strpos ( $str , 'www.site.com/register.php?' ) ;
$activate = substr ( $str , $pos ) ;
поидее должно работать
 
Я бы посоветовал воспользоватся таким способом:
PHP:
if (preg_match('%register\.php\?activate=([a-f0-9]{32})%i', $body, $ret)) {
    $activate = $ret[1];
} else {
    $activate = false;
}

Здесь нету ограничений на язык письма и адрес домена, что полезно например для авторегеров, где много адресов и где не будет работать вышеприведенный вариант.
 
Подвожу финальную черту, так чтобы скрипт парсил все сайты имеющие активационную ссылку вида: 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];
 
tarzan - массив $_SERVER содержит данные ТВОЕГО сервера =)
т.е. того, где запускается скрипт.

Ты собираешься парсить свои собственные ссылки активации ? =)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху