Вытянуть анкоры из списка ссылок

Тема в разделе "Регулярные выражения", создана пользователем Levitt, 19 дек 2011.

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

    Levitt

    Регистр.:
    20 май 2008
    Сообщения:
    358
    Симпатии:
    36
    Помогите вытянуть анкоры из следующего текста
    HTML:
    
    <ul id="atatl"><li><a href="http://news.search.yahoo.com/search?&p=water+polo+players&rs=0&fr=&fr2=rs-top">water <b>polo </b>players</a>,</li><li><a href="http://news.search.yahoo.com/search?&p=polo+horses&rs=1&fr=&fr2=rs-top"><b>polo </b>horses</a>,</li><li><a href="http://news.search.yahoo.com/search?&p=polo+ponies&rs=2&fr=&fr2=rs-top"><b>polo </b>ponies</a>,</li><li><a href="http://news.search.yahoo.com/search?&p=teri+polo&rs=3&fr=&fr2=rs-top">teri <b>polo</b></a>,</li><li><a href="http://news.search.yahoo.com/search?&p=polo+ralph+lauren&rs=4&fr=&fr2=rs-top"><b>polo </b>ralph lauren</a>,</li><li><a href="http://news.search.yahoo.com/search?&p=royal+polo+match&rs=5&fr=&fr2=rs-top">royal <b>polo </b>match</a>,</li><li><a href="http://news.search.yahoo.com/search?&p=cif+water+polo+champs+2011&rs=6&fr=&fr2=rs-top">cif water <b>polo </b>champs 2011</a>,</li><li><a href="http://news.search.yahoo.com/search?&p=polo+horse+deaths&rs=7&fr=&fr2=rs-top"><b>polo </b>horse deaths</a>,</li><li><a href="http://news.search.yahoo.com/search?&p=polo+grounds&rs=8&fr=&fr2=rs-top"><b>polo </b>grounds</a>,</li><li><a href="http://news.search.yahoo.com/search?&p=polo+pony+deaths&rs=9&fr=&fr2=rs-top"><b>polo </b>pony deaths</a></li></ul>
    Когда-то нашел и работала регулярка
    PHP:
    preg_match_all('/<li><a href="[^"]+">([^<]+)<\/a>,?<\/li>/'$content$matches);
    Но сейчас она отдает пустой результат.
     
  2. jami

    jami Постоялец

    Регистр.:
    10 авг 2011
    Сообщения:
    114
    Симпатии:
    39
    Отдает пустой, тк между анкорами появились символы <.
    PHP:
    preg_match_all('/<li><a href="[^"]+">(.*?)<\/a>,?<\/li>/'$content$matches);
    так работает.
     
    Levitt нравится это.
  3. Levitt

    Levitt

    Регистр.:
    20 май 2008
    Сообщения:
    358
    Симпатии:
    36
    а как расшифровуется данная конструкция: [^"] ?
     
  4. komyak

    komyak

    Регистр.:
    4 фев 2009
    Сообщения:
    486
    Симпатии:
    187
    Означает что начало с двойной ковычки.
     
  5. DemanZ

    DemanZ Постоялец

    Регистр.:
    16 мар 2007
    Сообщения:
    144
    Симпатии:
    113
    Неправильно!
    [^"] - Означает, может быть все что угодно, только кроме "
     
Статус темы:
Закрыта.