2013-05-06 24 views
-2

嗨解析我使用simple_html_dom庫來解析這個網站簡單的HTML用PHP

<tr class="even"> 
<th>Yesterday</th> 
<td class="avg">42.57%</td> 
<td class="percent"> -0.06% </td> 
<td class='arrow'> </td> 
</tr> 
<tr > 
<th>7 day</th> 
<td class="avg">41.79%</td> 
<td class="percent"> +0.14% </td> 
<td class='arrow'> </td> 
</tr> 
<tr class="even"> 
<th>1 month</th> 
<td class="avg">42.10%</td> 
<td class="percent"> -5.63% </td> 
<td class='arrow'> </td> 
</tr> 
<tr > 
<th>3 month</th> 
<td class="avg">44.198%</td> 
<td class="percent"> -2.28% </td> 
<td class='arrow'> </td> 
</tr> 

我需要不同的變量的所有數據。如平均等...任何幫助將不勝感激。由於

+0

你可以發佈你已經擁有? – HamZa 2013-05-06 10:38:07

+1

請提供更多信息。你想每個類別只有一個輸出號碼?你面臨什麼確切的問題? – Dropout 2013-05-06 10:41:41

+0

是的,我需要數字只爲所有tr – 2013-05-06 10:43:07

回答

1

您應該能夠通過他們抓取這樣:

<?php 
    $simpleHTMLDom = new simple_html_dom(); 
    $simpleHTMLDom->load($html); 
    $tableRows = $simpleHTMLDom->find('tr'); 

    $rows = array(); 
    if (!empty($tableRows)) { 
     foreach ($tableRows as $tableRow) { 
      $row = array(); 
      $tableColumns = $tableRow->find('td.avg, td.percent'); 
      if (!empty($tableColumns)) { 
       foreach ($tableColumns as $tableColumn) { 
        $row[$tableColumn->class] = $tableColumn->innertext; 
       } 
      } 
      $rows[] = $row; 
     } 
    } 
    print_r($rows); 
?> 
+0

我很抱歉。我完全閱讀了OP中關於他使用'simple_html_dom'的部分問題。我責怪它是星期一和我自己的愚蠢 – PeeHaa 2013-05-06 11:57:02

+0

@PeeHaa埽不用擔心 - 我們都在那裏做了。 :-) – h2ooooooo 2013-05-06 11:59:51