вы хотите получить элемент li
из каждого div
, а затем получить атрибут data-href
.Вы просто пытаетесь получить его из div
$allDivs = $parser->getElementsByTagName('div');
foreach ($allDivs as $div) {
if ($div->getAttribute('class') == 'box-search-result') {
$allLi = $div->getElementsByTagName('li');
foreach ($allLi as $li){
$linkRef = $li->getAttribute('data-href');
var_dump($linkRef);
}
}
}
Я не уверен на 100% в синтаксисе domParser, но проблема в том, что вы получаете div
, а не li
.Возможно, вам придется просмотреть свойство childNodes
ваших переменных $div
и проверить, является ли nodeName
значением ul
, а затем просмотреть свойство childNodes
тех, кто ищет li
в качестве nodeName
.например,
$allDivs = $parser->getElementsByTagName('div');
foreach ($allDivs as $div) {
if ($div->getAttribute('class') == 'box-search-result') {
foreach($div->childNodes as $node) {
if($node->nodeName == 'ul') {
foreach($node->childNodes as $liNode) {
if ($liNode->nodeName == 'li') {
$linkRef = $liNode->getAttribute('data-href');
var_dump($linkRef);
}
}
}
}
}
}