如何只获取getElementsByTagName的第一个结果?

时间:2013-08-07 12:49:21

标签: php 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');
}

?>

所以请告诉我如何才能得到一个结果 - 第一个结果!

提前致谢。

3 个答案:

答案 0 :(得分:7)

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

为您的代码执行:$tags->item(0);

答案 1 :(得分:0)

请注意,有些浏览器选择返回HTMLCollection,这是正常的,因为它是NodeList的超集。
Difference between HTMLCollection, NodeLists, and arrays of objects

答案 2 :(得分:-1)

使用:

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

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