-1

私はそれを機能させようとしているこの単純なパーサーを持っています。しかし、私は Fatal error: Call to a member function find() on a non-object in /home4/msaraiva/public_html/test.php on line 8 error を取得します。これはそれぞれの最初にあります。しかし: この URL http://jantes.rupteur.com/jantes-alu/Alfa-Romeo-145 (78 レコードのみ) では問題なく動作しますが、http://jantes.rupteur.com/jantes-にアクセスするとうまくいきます。 alu/Alfa-Romeo-159には 399 のレコードがあり、パーサーによって致命的なエラーが発生しました。すべてを試しましたが、機能しません。PS: すべてのページは同じ html 構造を持っています

ありがとうございます

<?php
 include_once('simple_html_dom.php');

    $html=file_get_html("http://jantes.rupteur.com/jantes-alu/Alfa-Romeo-145");

 foreach ($html ->find('td[valign=top]') as $t){
       foreach ($t ->find('h1') as $k)
          foreach ($t ->find('strong') as $g)
            echo $k;
            echo $g .'<br>';
       foreach ($html ->find('td[valign=top]') as $f)
           $num = explode('/>',$f);
           echo strip_tags($num[1]);           
 }
 echo '<br>';
 ?>
4

2 に答える 2

1

おそらく、解析している html コードの長さが 600000 より大きい場合、デフォルトでfile_get_html関数が返るために発生しますfalse。2 番目のページは非常に大きいためMAX_FILE_SIZE、simple_html_dom.php ファイルの定数を増やします。

define('MAX_FILE_SIZE', 9999999);

@PeeHaa と @Chris のコメントに耳を傾けてください。

于 2013-03-05T18:51:58.217 に答える