PHPでHTML解析 - パート2

久しぶりに週末プログラミングをして、HTML解析をやろうとしたんだけど、自分の記事がGoogle先生のTOPに出てきてちょっとびっくり。前に書いたのよりももっといい方法が見つかったから備忘録がてら書いておきます。
以下のサイトが参考になる。

使い方

とりあえず、以下のサイトからモジュールをダウンロードして、includeする。それで、解析したいやつのHTMLファイルを指定してとってくるだけで、jQueryチックにかける。

  include('./inc/simple_html_dom.php');

  $html = file_get_html('http://yahoo.co.jp');

  // 子要素のテキストを取得
  $html->children(0)->plaintext;

  // IDで検索
  $html->find('#test_id')->plaintext;

  // 全てのクラスを取得
  foreach($html->find('.test_class') as $element){
    $element->children(0)->plaintext;
  }

  // titleをとってみる
  $html->find('title')->plaintext;

  // aのlink先をとってみる
  $html->find('a')->getAttribute('href');

すごい便利。使いそうな関数は以下の関数とかかな。

  • innertext
  • plaintext
  • getAttribute
感想

まえのより絶対こっちのほうが便利!