Вот что у меня есть через DOM (я удалил контент):
<ul class="toggle-block">
<li>
<h4 class="chip ui-header rounded-5 act-select toggle-active" ></h4>
<div class="inner rounded-5 act-block">
<div class="inlineBlock"></div>
<div class="inlineBlock"></div>
<div></div>
<h5></h5>
<div class="inlineBlock"></div>
<div class="inlineBlock"></div>
</div>
</li>
</ul>
Мне нужно, чтобы каждый контент находился в каждом ДИВ а также h5 от Акт-блок основное отделение
Я начал с этого кода:
$xpath = new DOMXPath($dom);
$els = $xpath->query('//ul[@class="toggle-block"]/li/div');
Но сейчас я не знаю, что делать. Любая идея ?
РЕДАКТИРОВАТЬ 1:
Я сделал тест с этим, и он работает для первого узла …
$xpath = new DOMXPath($dom);
$actblock = $xpath->query("//div[contains(concat(' ',normalize-space(@class),' '),' act-block ')]");
$els = $xpath->query('./div | ./h5', $actblock->item(0));
$el = $els->item(0)->nodeValue;
echo $el;
…но это не работает для следующих:
$xpath = new DOMXPath($dom);
$actblock = $xpath->query("//div[contains(concat(' ',normalize-space(@class),' '),' act-block ')]");
$els = $xpath->query('./div | ./h5', $actblock->item(0));
$el = $els->item(1)->nodeValue;
echo $el;
Этот запрос должен работать:
$actblock = $xpath->query("//div[contains(concat(' ',normalize-space(@class),' '),' act-block ')]");
$els = $xpath->query('./div | ./h5', $actblock->item(0));
Увидеть: http://pivotallabs.com/xpath-css-class-matching/, Xpath выбрать несколько тегов
Других решений пока нет …