简单的HTML用PHP

问题描述:

嗨解析我使用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

您应该能够通过他们抓取这样:

<?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