如何使用simplexml_import_dom从图像标记中单独输出?

时间:2017-11-25 07:33:33

标签: dom xpath import simplexml

我使用下面的代码从网页中提取图像,但我只想在数据中获得第二个“图像”和“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

1 个答案:

答案 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 ..
}