2013-10-29 86 views
1

是否有可能获得例如使用DOM(的getElementsByTagName)获得的“内容” meta标签

这我是特林得到内容的元标记中使用DOM(的getElementsByTagName)meta标签的内容。

<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

发布日期(2013-11-08)每页有不同的日期? –

回答

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示例有效。只要你可以看到你的代码的方向

+0

正如在[此评论](http://stackoverflow.com/questions/19666053/using-dom-getelementsbytagname-to-get-content-meta-tag#comment29205295_19666053)中所述,OP正试图获取发布的日期,而不是'content'属性。 –

+0

感谢工作很好:) –

+0

发布日期和内容具有相同的价值,或者我错过了什么? – romik