我使用下面的代码从网页中提取图像,但我只想在数据中获得第二个“图像”和“alt”。 “image:/images/2.png Alt:图像2“ 任何帮助将不胜感激。
@ $ dom-> loadHTML($页);
$ xml = simplexml_import_dom($ dom);
$images = $xml->xpath('//img');
foreach ($images as $img) {
if (isset($img["src"]) && isset($img["alt"]))
echo "image: " . $img['src'] . "<br />";
echo "Alt : " . $img['alt'] . "<br />";
}
返回:
image:/images/1.png Alt:图片1
image:/images/2.png Alt:图像2
image:/images/3.png Alt:图片3
答案 0 :(得分:0)
xpath返回一个数组,因此$images
是一个数组
您可以访问第二个元素,例如$images[1]
。
$images[1]
的类型为SimpleXMLElement,您可以访问以下属性:
$src = $images[1]->attributes()->src;
$alt = $images[1]->attributes()->alt;
if ($src && $alt) {
echo "image: " . $src . "<br />";
echo "Alt : " . $alt . "<br />";
}
或者您可以将xpath表达式更新为:
$images = $xml->xpath('//img[2]');
if (isset($images[0])) {
// etc ..
}