1

私は単純なhtml domを使用してhtmlページを解析しています.....これは私のコードです..

include('simple_html_dom.php');


$html = file_get_html($my_url);


foreach($html->find('div') as $ul) {
     echo $ul;
   }

そして、私は他の多くの方法も試しました。それでも私はこのエラーが発生します。エラー:

 Call to a member function find() on a non-object

他のタグも試してみました...

  $html->find('a');
  $html->find('h3');
  //But still same above error

誰でも私がエラーを解決するのを手伝ってくれますか..事前に感謝します

4

2 に答える 2

4

さて私は解決策を見つけました、解決策は:-

simple_html_domの最新バージョンにはバグがあります...したがって、sourceforgeのsimplehtmldom_1_5ファイルは使用しないでください...sourceforgeのsimplehtmldom_1_10を使用すると問題なく動作します。

simplehtmldom_1_5のバグ:-

どのサイトのURLもここでは機能しません。htmlファイルのURLを指定することはできますが、サイトのURLが機能しません。URLを読み取った後、オブジェクト$htmlを識別していません。

同様の問題に直面している人々に役立つことを願っています。

于 2013-03-15T04:48:37.520 に答える
0

あなたはcakephpを使用しているので、このように使用することはできません。

vendor( for controller )またはを作成する必要がありますcreate helper( for view )

そしてもう1つ$htmlはすでに予約されています$html helper

ベンダーローディング用

App::import('Vendor', 'HTMLDOM', array('file' => 'HtmlDom' . DS . 'simple_html_dom.php'));

ヘルパーのために。

App::import('Helper', 'HtmlDom');
$NewHtmlDom = new SimpleHtmlDom; 

$fileContent = $NewHtmlDom->file_get_html($my_url);
于 2013-03-15T04:18:08.703 に答える