0

私は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/>";

?>`
と私の 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>

このエラーが発生する理由と、このエラーを解決する方法を知りたいです。

4

2 に答える 2

0

このエラーは、find()空の何かを呼び出そうとしたことを意味します。おそらく、その何かがfind()実際には何も見つからなかった別の呼び出しの結果であるためです。ここでの原因として考えられるのは、先に進んで結果を使用しようとする前に、実際に成功する$tableかどうかをわざわざチェックする必要がないためです。$html->find('table')

于 2013-03-09T20:15:27.393 に答える
0

その周りにhtmlタグとbodyタグを追加してみましたか?図書館はそれを必要としていると思います。

そのはず<html><body> .... </body></html>

于 2013-02-20T13:07:13.567 に答える