Разбор PHP с simple_html_dom, проблема поиска - PullRequest
1 голос
/ 27 октября 2009

Здравствуйте. Я использую simple_html_dom, чтобы найти каждую ссылку в html-документе класса «new». Обычно я бы использовал:

  $html->find('a[class=new]'); 

Это приведет к получению ссылок, например,

<a class="new" ... blah blah ... />

Однако на этот раз проблема в том, что HTML-документ содержит ссылки с такими классами, как

<a class="today new".../>
<a class="alksdjld new kfljslfd".../>

В основном много других ссылок со словом new в нем. Онлайновое руководство говорит, что [class ^ = new] частично решит эту проблему, потому что оно сортирует классы, которые начинаются с новых и которые работают но это все еще оставляет классы как "новый бла-бла и т. д."

Надеюсь, это имеет смысл. Кто-нибудь сталкивался с этим / решил это?

Ответы [ 2 ]

1 голос
/ 27 октября 2009

Как только вы найдете весь список классов, используя [class ^ = new], можете ли вы просмотреть их и отфильтровать те, у кого только новый является единственным классом?

0 голосов
/ 27 октября 2009

Из документов:

// Find all <li> in <ul>
foreach($html->find('ul') as $ul)
{
       foreach($ul->find('li') as $li)
       {
             // do something...
       }
}

Так что вы просто должны быть в состоянии перебрать записи a и посмотреть на класс $ a->, чтобы увидеть, будет ли он == 'новым', если нет, то в нем будет больше, чем просто новое, и вы можете пропустить его ... .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...