如何从文件中迭代数组

时间:2012-09-16 13:28:41

标签: php

我有一个包含此内容的简单html文件。

<table border="1">
    <tr>
        <td>Name</td>
        <td>City</td>
    </tr>
    <tr>
        <td>Greg House</td>
        <td>Century City</td>
    </tr>
    <tr>
        <td>Dexter Morgan</td>
        <td>Miami</td>
    </tr>
</table>

我有这个脚本:

include_once('simple_html_dom.php');

//$html = file_get_html('');
$html = file_get_html('http://localhost/path2mylocalfile/test1.html');

// first check if $html->find exists
if (method_exists($html,"find")) 
{
    // then check if the html element exists to avoid trying to parse non-html   
    if ($html->find('html')) 
    {

        foreach ($html->find('table') as $table)
        {

            // loop over rows
            foreach($table->find('tr') as $row) 
            {
                // initialize array to store the cell data from each row
                $rowData = array();

                foreach($row->find('td.text') as $cell) 
                {
                    // initialize array to store the cell data from each col
                    //$colData = array();                   

                    // push the cell's text to the array
                    $rowData[] = $cell->innertext;
                }

                if ($rowData) $theData[]=$rowData;

            }
            //print_r($theData);        

        }
    }
}

//Show array    
//foreach ($colData as $colItems)
//{
      foreach ($rowData as $rowItems)
          {
              echo "$rowItems<br /><br />";
          }
          //print_r($theData);
//}

如果我只使用$rowData循环,我只会得到姓氏和城市,所以我尝试添加$colData循环,但是当我使用它时,屏幕上没有任何内容。

如何循环显示行和列并显示名称和城市?

1 个答案:

答案 0 :(得分:0)

您可以使用原生PhP功能DOMDocument-&gt; loadHTML(http://docs.php.net/manual/en/domdocument.loadhtml.php)。

它专为HTML解析而设计,您可能能够解析标记的第一个和第二个子。