Регулярку не могу сделать(

Тема в разделе "PHP", создана пользователем phillip, 30 июл 2009.

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

    phillip

    Регистр.:
    4 сен 2007
    Сообщения:
    413
    Симпатии:
    15
    Помогите пожалуйста составить регулярку, которая бы из текста

    Код:
    <A href="http://forums.callback.com/index.php?showuser=167058" DN528="0"
    вытащила ссылку
    Код:
    http://forums.callback.com/index.php?showuser=167058
     
  2. vivid

    vivid Постоялец

    Регистр.:
    13 апр 2009
    Сообщения:
    143
    Симпатии:
    18
    /<a href="([^"]+)"/
     
  3. topless

    topless

    Регистр.:
    15 май 2006
    Сообщения:
    213
    Симпатии:
    113
    Или так /<a href="(.+?)"/
    Возможно придется еще " экранировать \"
     
  4. phillip

    phillip

    Регистр.:
    4 сен 2007
    Сообщения:
    413
    Симпатии:
    15
    чот не помогло :nezn:

    делал так:

    preg_match('/<a href="([^"]+)"/', $myHTML, $matches);
    print_r($matches);

    массив $matches получается пустым.

    счас попробую вариант от topless

    тоже пустой массив(
     
  5. dig555

    dig555

    Регистр.:
    22 июн 2007
    Сообщения:
    362
    Симпатии:
    148
    PHP:
    <?
    $str='<A href="http://forums.callback.com/index.php?showuser=167058" DN528="0"';
    preg_match('|<A href="(.*)" DN528="0"|Uis',$str,$out);
    print_r($out[1]);
    ?>
     
  6. PapaJoe

    PapaJoe

    Регистр.:
    4 авг 2008
    Сообщения:
    620
    Симпатии:
    311
    phillip, замени в первом варианте
    PHP:
    /<a href="([^"]+)"/
    на
    PHP:
    /<a href="([^"]+)"/i
    - чтобы не учитывать регистр(модификатор i), а то в примере тег ссылки начинается с заглавной буквы, а в регулярке - с маленькой
     
  7. phillip

    phillip

    Регистр.:
    4 сен 2007
    Сообщения:
    413
    Симпатии:
    15
    чуть-чуть невышло) вариант от dig555 возвращает пустой массив, а вариант от MONtrade, и i в конце вернул

    Код:
    http://forums.callback.com/index.php? 
    где-то потеряли остаток, showuser=167058
    :)
     
  8. PapaJoe

    PapaJoe

    Регистр.:
    4 авг 2008
    Сообщения:
    620
    Симпатии:
    311
    странно, только что проверил:
    PHP:
    <?php
    $txt
    ='<A href="http://forums.callback.com/index.php?showuser=167058" DN528="0"';
    preg_match('/<a href="([^"]+)"/i',$txt,$out);
    print_r($out);
    ?>
    на выходе:
    Код:
    Array
    (
        [0] => <A href="http://forums.callback.com/index.php?showuser=167058"
        [1] => http://forums.callback.com/index.php?showuser=167058
    )
    
     
    phillip нравится это.
  9. phillip

    phillip

    Регистр.:
    4 сен 2007
    Сообщения:
    413
    Симпатии:
    15
    а просто я строку не целиком привел, тут отрывок. Очень большая строка просто) А на полной строке у меня не работало, но я тут сам уже доделал. спасибо за помощь :)
     
Статус темы:
Закрыта.