как выдрать кусок текста?

Тема в разделе "Регулярные выражения", создана пользователем mexica, 9 сен 2009.

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

    mexica Постоялец

    Регистр.:
    25 сен 2008
    Сообщения:
    136
    Симпатии:
    13
    я в регулярных выражения нуб и прошу Вас помочь мне!мне нужно чтоб скрипт выдирал при нахождении подобных писем пароль который идет после слов "и Ваш пароль:"!перед паролем стоит пробел!в теге <br /> стоит тоже пробел(если это что то меняет)!пароль может быть абсолютно разный и любой длинны!нужно чтоб скрипт находил эти пароли и сохранял в переменную!
    <tr><th class="name">Отправлено</th>
    <td class="value">24 августа 2009*в*23:29</td></tr><tr id="message-labels" class="g-hidden"><th class="name">Метки</th><td class="value">
    </td></tr></table>
    </div></div><div class="b-message-text g-line b-message-text-main" id="message-text"><p>Mordor,<br />
    <br />С Вашего почтового адреса совершена регистрация.
    <br />Чтобы активировать Вашу регистрацию, пожалуйста, пройдите по ссылке:<br />
    <a target="_blank" href="http://site.ru/" onclick="r('\/r?url=http%3A%2F%2Fsite.ru%2Fconfirm.php%3Fcode');">http://site.ru/confirm.php?code</a><br />
    Вы можете зайти на сайт,
    <br />используя Ваш почтовый адрес и Ваш пароль: o1kgqzq8<br /><br />
    Внимание: регистрация на сайте абсолютно бесплатна.<br />
    пробовал так
    PHP:
    $html_text=$webpage->get_source();

    preg_match("/Ваш пароль:\s*([^<]*)<br />/"$html_text$matches);
    $cap =  $matches[1]; 
    не получилось!
    пробовал так
    PHP:
    $html_text=$webpage->get_source();
    preg_match('#ароль: (.*?)<br />#',, $html_text$matches);
    $cap =  $matches[1]; 
    тож не получилось!короче методом научного тыка!)помогите плиз!)
     
  2. andrnag

    andrnag

    Регистр.:
    26 мар 2008
    Сообщения:
    350
    Симпатии:
    125
    вторая регулярка правильная. видимо ошибка в php. Там лишняя запятая при передаче параметров, не знаю опечатка или так и пробуешь.
     
  3. pori

    pori Постоялец

    Регистр.:
    30 авг 2009
    Сообщения:
    114
    Симпатии:
    18
    первая тоже почти правильная, только не забывай \ перед символами, в которые обрамляешь выражение:

    PHP:
    preg_match("/Ваш пароль:\s*([^<]*?)<br \/>/is"$test$matches);
     
Статус темы:
Закрыта.