Найти сложенный класс div с помощью простого HTML DOM Parser - PullRequest
2 голосов
/ 12 сентября 2011

Я использую PHP Simple HTML DOM Parser , и на html-странице есть раздел со следующим источником:

<div class="box-content padding-top-1 padding-bottom-1 font-size-3">
    <ul>
        <li>
            <a href="link1">linkdescription 1</a>
        </li>
        <li>
            <a href="link2">linkdescription 2</a>
        </li>
    </ul>
</div>

Как теперь получить список ссылок с помощьюиспользуя идентификатор класса в стеке?

Вот что я сейчас пробовал:

  • List item $html->find('.box-content padding-top-1 padding-bottom-1 font-size-3'));
    • возвращает пустое
  • List item $html->find('.box-content'));
    • возвращает другие элементы страницы в поле
  • List item $html->find('.box-content+padding-top-1+padding-bottom-1+font-size-3'));
    • не важно: (

Ответы [ 2 ]

1 голос
/ 12 сентября 2011

Для нацеливания на элемент с несколькими классами используйте точку (.) в качестве разделителя между классами.Пробелы указывают на родительские -> дочерние отношения.

Итак, в вашем примере вам понадобится:

List item $html->find('.box-content.padding-top-1.padding-bottom-1.font-size-3'));
0 голосов
/ 16 сентября 2011

Или вы можете попробовать это:

List item $html->find('div[class=box-content padding-top-1 padding-bottom-1 font-size-3]');
...