Simple HTML DOM Parserの日本語訳3
Simple HTML DOM Parserマニュアルの「Quick Start」を自分なりに翻訳してみた。
他のは知らない。
Get HTML elements
- URLやファイルからDOM化
- $html = file_get_html('http://www.google.com/');
- DOM化したものから全てのimgタグのsrc属性の値を取得
- foreach($html->find('img') as $element){
echo $element->src . '<br>';
} - DOM化したものから全てのaタグのhref属性の値を取得
- foreach($html->find('a') as $element){
echo $element->href . '<br>';
}
Modify HTML elements
- HTMLソースからDOM化
-
// $htmlにHTMLソースをパースしたものを代入(?)
$html = str_get_html('<div id="hello">Hello</div><div id="world">World</div>');// 1番目(2つめ)のdivタグにclass属性を追加。値は[bar]。
$html->find('div', 1)->class = 'bar';// divタグのid属性の値が[hello]の0番目(1つめ)のテキストを「foo」に置き換え。
$html->find('div[id=hello]', 0)->innertext = 'foo';echo $html; // Output: <div id="hello">foo</div><div id="world" class="bar">World</div>
Extract contents from HTML
- タグなしのテキストの抽出(Dump contents (without tags) from HTML)
- echo file_get_html('http://www.google.com/')->plaintext;
Scraping Slashdot!
- URLからDOM化をして、値を取得するサンプル
-
// Create DOM from URL
$html = file_get_html('http://slashdot.org/');// Find all article blocks
foreach($html->find('div.article') as $article) {
// 配列($item)に
// [<div class=article>]の中にある
// 各class内のタグなしテキストを代入(?)していく。
$item['title'] = $article->find('div.title', 0)->plaintext;
$item['intro'] = $article->find('div.intro', 0)->plaintext;
$item['details'] = $article->find('div.details', 0)->plaintext;
$articles[] = $item;
}print_r($articles);