2014-01-10 65 views
1

我已經閱讀並嘗試了每篇關於此的POST,但無法讓它工作。 這是HTML:使用PHP提取META simple_html_dom.php

<meta itemprop="interactionCount" content="UserPlays:4635"> 
<meta itemprop="interactionCount" content="UserLikes:4"> 
<meta itemprop="interactionCount" content="UserComments:0"> 

我需要提取的 '4635' 位。

代碼:

<?php 
    $html = file_get_html($url); 
foreach($html->find("meta[name=interactionCount]")->getAttribute('content') as $element) { 
    $val = $element->innertext; 

    echo '<br>Value is: '.$val; 
} 

我得不到任何回報?

+0

你可以看一下手動鏈接http://simplehtmldom.sourceforge.net/ – jingyu

+0

我用這個,因爲我需要的所有其他HTML元素,但只是無法弄清楚這最後一個。感謝您的評論 – Calamaster

回答

0
$metaData= '<meta itemprop="interactionCount" content="UserPlays:4635"> 
      <meta itemprop="interactionCount" content="UserLikes:4"> 
      <meta itemprop="interactionCount" content="UserComments:0">'; 

$dom = new DOMDocument(); 
$dom->loadHtml($metaData); 
$metas = $dom->getElementsByTagName('meta'); 

foreach($metas as $el) { 
    list($user_param,$value) = explode(':',$el->getAttribute('content')); 
    // here check what you need 
    print $user_param.' '.$value.'<br/>'; 
} 

// OUTPUT 

UserPlays 4635 

UserLikes 4 

UserComments 0 
+0

謝謝,工作過一種享受! – Calamaster

+0

這與問題無關! Beacasue它不使用simple_html_dom .php。 – jingyu

0
include 'simple_html_dom.php'; 
$url = '...'; 
$html = file_get_html($url); 
foreach ($html->find('meta[itemprop="interactionCount"]') as $element) { 
    list($key, $value) = explode(':', strval($key->content)); 
    echo 'Value:'.$value."\n"; 
} 
+0

php'split'函數被折舊,所以這不起作用。感謝您的輸入。 – Calamaster