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-08-03
formのinputでmaxlengthを使うとFirefoxでバグってた。他のブラウザでも気づかずにバグってたかもしれない。
2017-07-19
折れ線グラフをもう少しゆるやかに・・・というか何というか・・・調べていくと「移動平均」っていう言葉にたどり着いた
2017-07-10
FuelPHPの1.8をダウンロードして使っていたらセッションが使えないということに気付いた。
2017-06-27
MACにWin10をインストールしてみた:再挑戦。
2017-06-25
「簡単」っていうヤツらが多いけど・・・難しいぞ。