Как получить ссылку активации

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

Jaarg

Гуру форума
Регистрация
18 Авг 2008
Сообщения
494
Реакции
97
Через веб интерфейс захожу на почту яндекса, туда падает письмо с подтв регистрации, в нем есть ссылка вида

Для просмотра ссылки Войди или Зарегистрируйся

как можно выдернуть данную ссылку, учитывая, что последние цифры меняются при каждой регистрации?
HTML:
<div id="content" class="plain">
          <p>Вы зарегистрировались на сайте <a target="_blank" href="http://site.ru/" onClick="r('\/r?url=http%3A%2F%2Fsite.ru%2F&amp;ids=2040000000043665875&amp;fs=inbox&amp;counter=1&amp;d=id36224900');">http://site.ru/</a>. Ваши реквизиты:<br>
              <br>
            Логин: naqop<br>
            Пароль: wihie<br>
            <br>
            Для подтверждения регистрации пройдите по этой ссылке:<br>
            <a target="_blank" href="http://site.ru/reg.php?value=20475077561234757822" onClick="r('\/r?url=http%3A%2F%2Fsite.ru%2Freg.php%3Fvalue%3D20475077561234757822&amp;ids=2040000000043665875&amp;fs=inbox&amp;counter=1&amp;d=id34920677');">http://site.ru/reg.php?value=20475077561234757822</a><br>
          </p>
        </div>
 
Регуляркой например:
Код:
href="(.+?value=.+?)"
 
Через веб интерфейс захожу на почту яндекса, туда падает письмо с подтв регистрации, в нем есть ссылка вида

Для просмотра ссылки Войди или Зарегистрируйся

как можно выдернуть данную ссылку, учитывая, что последние цифры меняются при каждой регистрации?
HTML:
<div id="content" class="plain">
          <p>Вы зарегистрировались на сайте <a target="_blank" href="http://site.ru/" onClick="r('\/r?url=http%3A%2F%2Fsite.ru%2F&amp;ids=2040000000043665875&amp;fs=inbox&amp;counter=1&amp;d=id36224900');">http://site.ru/</a>. Ваши реквизиты:<br>
              <br>
            Логин: naqop<br>
            Пароль: wihie<br>
            <br>
            Для подтверждения регистрации пройдите по этой ссылке:<br>
            <a target="_blank" href="http://site.ru/reg.php?value=20475077561234757822" onClick="r('\/r?url=http%3A%2F%2Fsite.ru%2Freg.php%3Fvalue%3D20475077561234757822&amp;ids=2040000000043665875&amp;fs=inbox&amp;counter=1&amp;d=id34920677');">http://site.ru/reg.php?value=20475077561234757822</a><br>
          </p>
        </div>
Скроее всего
PHP:
preg_match('#href="(http://site.ru/reg.php\?value=\d*?)"#', $e, $r);
$r[1]-тут будет ссылка
 
KillDead, ты забыл точки эскейпнуть и модификаторы ни к чему.
PHP:
preg_match('/href="(.+?value=.+?)"/', $e, $r);
$r[1]-тут будет ссылка
 
Считаю, что вариант KillDead'а лучше, так как более строгий — вытащит только нужный url.

Jaarg, заэкранировать точки можно таким образом:
PHP:
preg_match('#href="(http://site\.ru/reg\.php\?value=\d*?)"#', $e, $r);
$r[1]-тут будет ссылка
иначе, на месте точки может оказаться любой символ и в $r[1] придет неверная строка.
 
Благодарю :)
В итоге остановился на варианте
preg_match('#href="(http://site\.ru/reg\.php\?value=\d*?)"#', $e, $r);

+ основательно затупить мне помог ХуманЭмулятор, который упорно отказывался сохранять страницу с яндекса ;)
 
вообще для таких задач рекомендую прогу бесплатную The Regex Coach.
попробуйте, вещь супер удобная для написания регекспов
 
вообще для таких задач рекомендую прогу бесплатную The Regex Coach.
попробуйте, вещь супер удобная для написания регекспов

да, спасибо, я уже использую ее и RegexBuddy (есть на форуме). просто сначала не понял принцип работ программ )
 
The Regex Coach.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху