как разбирать в каком то улье?

0
<ul>
   <li>
   <a>name1</a>
   <div>
      <ul>
          <li>
             <a>name</a>
             <ul>
                <li>
                   <a>name</a>
                </li>
                <li>
                   <a>name</a>
                </li>
             </ul>
           </li>
           <li>
             <a>name</a>
             <ul>
                <li>
                   <a>name</a>
                </li>
                <li>
                   <a>name</a>
                </li>
             </ul>
           </li>
       </ul>
    </div>
    </li>
    <li>
   <a>name2</a>
   <div>
      <ul>
          <li>
             <a>name</a>
             <ul>
                <li>
                   <a>name</a>
                </li>
                <li>
                   <a>name</a>
                </li>
             </ul>
           </li>
           <li>
             <a>name</a>
             <ul>
                <li>
                   <a>name</a>
                </li>
                <li>
                   <a>name</a>
                </li>
             </ul>
           </li>
       </ul>
    </div>
    </li>
</ul>

По мере того как мы можем найти некоторое <ul>. Мы бы хотели использовать PHP Simple HTML DOM для получения массива с данными ul. Мы хотим использовать код:

foreach($html->find('li') as $li) {

}

Но в этом примере мы видим все li на дисплее: http://prntscr.com/5390mf http://prntscr.com/5390pj

Но мы не знаем, как получить только parrent li:

1.
   <li>
   <a>name1</a>
   </li>
2.
   <li>
   <a>name2</a>
   </li>

И только, чем получить детскую ul в parrents li и все дети li в li.

Скажите, пожалуйста, как это сделать?

PS: Если я плохо объясню, что я хотел бы получить, напишите

Теги:
parsing

2 ответа

0
Лучший ответ

Первый:

foreach($html->find('li',0) as $line) {

}

Второй (если мы можем добавить класс в parrent ul):

foreach($html->find('ul.parrent_ul->li') as $line) {

}

Наслаждайтесь!

0
foreach($html->find('ul > li') as $li) {

}

Должен получить только верхний уровень li - тот, который является прямым дочерним элементом ul-элементов

  • 0
    нет, если вы видите, что мы получаем некоторый ul->li в некотором li , и, используя ваш код, мы получаем все ul->li (не только parrent)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню