如何仅从getElementsByTagName中获取第一个结果


How to get only the first result from getElementsByTagName?

嗨,我正在使用代码从url地址获取所有图像的地址。我想问我怎么能只得到第一个结果而不是所有比赛?

这是我正在使用的代码:

<?php

$url="http://grabo.bg/relaks-v-pamporovo-0gk5b";
$html = file_get_contents($url);
$doc = new DOMDocument();
@$doc->loadHTML($html);
$tags = $doc->getElementsByTagName('img');
foreach ($tags as $tag) {
   echo $tag->getAttribute('src');
}
?>

所以请告诉我我怎么只能得到一个结果——第一个!

提前谢谢。

$tags是由DOMDocumentgetElementsByTagName方法创建的DOMNodeList对象。因此,您可以访问用DOMNodelist::item ( int $index )返回的第一个元素。

对于您的代码do:$tags->item(0);

请注意,有些浏览器选择返回HTMLCollection,这是可以的,因为它是NodeList的超集
请参阅HTMLCollection、NodeLists和对象数组之间的差异

使用:

$tags = $doc->getElementsByTagName('img')[0];

获取数组中的第一个元素。