我是php simple_html_dom.php
的新手
我正在尝试解析一个小的html页面。但是我收到了一个错误
Fatal error: Call to a member function find() on a non-object in C:\xampp\htdocs\result\do.php on line 8
我的PHP代码在这里:
`
$html = new simple_html_dom();
$html->load_file('C:\xampp\htdocs\result\www.html');
$tableData = array();
$table = $html->find('table');
foreach($table->find('tr') as $row) {
$rowData = array();
foreach($row->find('td.text') as $cell) {
$rowData[] = $cell->innertext;
}
$tableData[] = $rowData;
}
echo "Result :<br/>";
foreach($tableData as $test)
echo "-".$test[0]."-".$test[1]."-".$test[2]."-".$test[3]."-".$test[4]."<br/>";
&GT;`
我的html页面在这里(www.html):
<table>
<tr>
<td width=250>Subject</td>
<td width=60 align=center>External </td>
<td width=60 align=center>Internal</td>
<td align=center width=60>Total</td>
<td align=center width=60>Result</td>
</tr>
<tr>
<td width=250><i>Analog Communication (06EC53)</i></td>
<td width=60 align=center>0</td>
<td width=60 align=center>17</td>
<td width=60 align=center>17</td>
<td width=60 align=center><b>A</b>
</td>
我想知道为什么我会收到此错误,如何解决此错误。
答案 0 :(得分:0)
你试过在那附近添加html和body标签吗?我相信图书馆需要它。
应为<html><body> .... </body></html>
答案 1 :(得分:0)
该错误意味着您尝试在空的内容上调用find()
,可能是因为某些内容是另一次调用find()
但实际上没有找到任何内容的结果。这里可能的罪魁祸首是$table
,因为在继续尝试使用结果之前,你从未费心检查$html->find('table')
是否实际成功。