Получение атрибута с помощью DOMXPath

Я знаю, что есть много способов получить атрибут.

это мой результат HTML:

<li class="result">
<a class="block_container" href="**FIRST**">
<img alt="changeable text" src="**SOME LINK**" border="0">
</a>
</li>

<li class="result">
<a class="block_container" href="**SECOND**">
<img alt="changeable text" src="**SOME LINK**" border="0">
</a>
</li>


//and many like this ...

Я могу взять (HREF), но у меня есть много этого атрибута!

Я использовал запрос DOMXPath, чтобы помочь мне выбрать первый HREF или второй HREF с номером элемента:

$a = $xpath->query("//li[@class='block_container']/a");
echo $text = $a->item(**MY ITEM NUMBER**)->nodeValue;

но это не работает!

Можете ли вы помочь мне взять href и src с номером товара?

1 ответ

Решение

Если вы хотите a.href

$hrefs = $xpath->query("//li/a[@class='block_container']/@href");
foreach($hrefs as $href) {
  echo $href->nodeValue ."<br>\n";
}

и если вы хотите externalHTML тега изображения

$imgs = $xpath->query("//li/a[@class='block_container']/img");
foreach($imgs as $img) {
  echo $dom->saveHTML($img) ."<br>\n";
}

демо на eval.in

Другие вопросы по тегам