使用DOM(getElementsByTagName)获取“内容”元标记

时间:2013-10-29 18:14:12

标签: php html dom getelementsbytagname

是否可以使用DOM(getElementsByTagName)获取元标记内容,例如

这是我要从中获取内容的元标记。

<span class="nobr">
    <a href="/title/tt1981115/releaseinfo?ref_=tt_ov_inf " title="See all release dates"> 
        8 November 2013
        <meta itemprop="datePublished" content="2013-11-08">
        (USA)
    </a>            
</span>

这就是我想要获取元内容的方式。

$metas = $dom->getElementsByTagName('meta');
for($i=0; $i <$metas-> length; $i++){
    $itemprop = $metas->item($i)->getAttribute("itemprop");
    if ($itemprop == "datePublished"){
        if ($metas->item($i)->textContent!=''){
            $res['published'] = $metas->item($i)->textContent;
        }
    }
}

有人能告诉我为什么不能获得内容?

1 个答案:

答案 0 :(得分:0)

也许你需要内容属性的价值?

$metas = $dom->getElementsByTagName('meta');
for($i=0; $i <$metas-> length; $i++){
    $itemprop = $metas->item($i)->getAttribute("itemprop");
    $content = $metas->item($i)->getAttribute("content");
    if ($itemprop == "datePublished" && $content !== ''){
        $res['published'] = $content;
    }
}

var_dump($res);

请注意,此代码对于显示有问题的html示例有效。只是你可以看到代码的方向