我有一个包含此内容的简单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
循环,但是当我使用它时,屏幕上没有任何内容。
如何循环显示行和列并显示名称和城市?
答案 0 :(得分:0)
您可以使用原生PhP功能DOMDocument-&gt; loadHTML(http://docs.php.net/manual/en/domdocument.loadhtml.php)。
它专为HTML解析而设计,您可能能够解析标记的第一个和第二个子。