是否可以使用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;
}
}
}
有人能告诉我为什么不能获得内容?
答案 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示例有效。只是你可以看到代码的方向