Прошу помощи по регулярке

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

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

    STsoldier Постоялец

    Регистр.:
    9 дек 2008
    Сообщения:
    100
    Симпатии:
    10
    Требуется выдернуть из сраницы вот такой текст
    HTML:
    <a target="_blank" href="http://example.com/" rel="nofollow" class="external">
    Имя домена мне заранее известно - example.com, а будет ли там target="_blank" и прочее - загадка.
    Заранее спасибо.
     
  2. Farid515

    Farid515 Писатель

    Регистр.:
    22 окт 2010
    Сообщения:
    6
    Симпатии:
    1
    Если не регуляркой то у PHP DOM есть getElementsByTagName.

    Можешь воспользоваться им.
     
  3. Phrack

    Phrack

    Регистр.:
    3 ноя 2010
    Сообщения:
    264
    Симпатии:
    38
    <a *.+>
    не так?
     
  4. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    скрипт показывает найденные ссылки и текст без ненужных ссылок
    PHP:
    $test = <<<TEST
    test
    <a target="_blank" href="http://example.com/" rel="nofollow" class="external">
    test
    <a target="_blank" href="http://google.com/" rel="nofollow" class="external">
    test
    TEST;

    header('Content-Type: text/plain; charset=utf-8');
    //все
    preg_match_all('#(<a\s*(.*)\s*href=[\'|"]*([^\s\'"]+)example\.com([^>])*>)#i'$test$a);
    print_r($a);
    //удаляем
    $text preg_replace('#(<a\s*(.*)\s*href=[\'|"]*([^\s\'"]+)example\.com([^>])*>)#i'''$test);
    echo 
    $text;
     
  5. eshkin

    eshkin

    Регистр.:
    13 апр 2006
    Сообщения:
    598
    Симпатии:
    256
    я только сегодня пользовался
    Код:
    <(.*?)example.com(.*?)>
    правда в дримвью, самая простецкая регулярка
     
  6. STsoldier

    STsoldier Постоялец

    Регистр.:
    9 дек 2008
    Сообщения:
    100
    Симпатии:
    10
    Вот то что мне нужно было
    PHP:
    <? preg_match("|<a[^>]*$url.*?<\/a>|i"$in$out); ?>
     
Статус темы:
Закрыта.