2011-12-10 11 views
0

私はPHP Simple HTML Dom Parserを使ってウェブサイトからいくつかの情報を取得しようとしています。ウェブサイトには、 "forumborder2"クラスのテーブルがたくさんあり、その中にいくつかの情報を得たいと思っています。次の例では、イメージソースが必要です。PHP - シンプルなHTML Dom Parser

foreach($html->find('table[class="forumborder2"]')as $tr){ 
    echo $tr->children(1)->children(1)->src; } 

は、これは常にエラーを与える:「非オブジェクトのプロパティを取得しようとすると、」

<table class="forumborder2" width=100% cellspacing=0 cellpadding=0 border=0 align=center> 
     <tr> 
      <td class="titleoverallheader2" background="modules/Forums/templates/chunkstyle/imagesnew/forumtop.jpg" style="border-top:0px; border-left:0px; border-right:0px;" width="100%" colspan=7 Align=left> 
       <b>Supernatural </b>(2005)&nbsp;&nbsp; - &nbsp;&nbsp;Enviada por: <b>AlJoSi</b>&nbsp;&nbsp; em 6 de Dezembro, 2011 (22:35:11) 
      </td> 
     </tr> 
     <tr height=25> 
      <td class="colour12" align=right width=100> 
       <b>Idioma:</b> 
      </td> 
      <td width=110 class="colour22"> 
       <img src="modules/Requests/images/fPortugal.png" width=18 height=12 border=0 alt='' title=''> 
      </td> 
     </tr> </table> 

は、私は次のようでした。もし私が $tr->children(1)->children(1)に行くのであれば、 <img src="modules/Requests/images/fPortugal.png" width=18 height=12 border=0 alt='' title=''>を得ることができます。なぜsrc属性にアクセスできないのですか?

+0

を役に立てば幸い?そして**何のエラー**? – Jon

+0

@Jon、[PHP Simple HTML DOM Parser](http://simplehtmldom.sourceforge.net/)。エラーのある投稿も変更しました。 – Barata

答えて

4

HTML Dom Parserを使用してすべての画像を取得することはできませんか?私はあなたがHTMLの特定のセクションからしか取得していないかどうかはわかりませんが、もしそうなら、探しているものを得るためにイメージソースで正規表現を実行できます。ここに役立つかもしれないコードスニペットです:

// Create DOM from URL or file 
$html = file_get_html('http://www.google.com/'); 

// Find all images 
foreach($html->find('img') as $element) 
    echo $element->src . '<br>'; 

// Find all links 
foreach($html->find('a') as $element) 
    echo $element->href . '<br>'; 

i「は、単純なHTML DOMパーサー」とは何ですか、これは

+0

それは私の2番目の選択肢になります。私は、各 "forumborder2"テーブルを反復し、後で "画像配列"を反復することで、何らかの処理を行うことを好むでしょう。 – Barata

関連する問題