Simple HTML DOM Parserの日本語訳3

2011/04/12

まとめたものはこっち

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);

新着(ニュース関連以外)

2017-12-13
jqueryで取得したDOM要素をオブジェクトじゃなくて、配列で受け取りたい
2017-11-30
Xampp+FuelPHP1.8をサーバーにupしたらエラーになった。
2017-11-09
PCでプッシュ通知ってのをしたい。
2017-11-06
PHPのバージョンを上げたらwikiが壊れたっぽい。
2017-08-03
formのinputでmaxlengthを使うとFirefoxでバグってた。他のブラウザでも気づかずにバグってたかもしれない。