PHPでHTMLを解析するための実装コード

高洛峰
リリース: 2023-03-01 11:50:02
オリジナル
1403 人が閲覧しました

最近、PHP を使用して HTML を解析する必要があるクローラーを作成したいと思っています。sourceforge で、CSS セレクターを介して指定された DOM 要素を返すことができるプロジェクトを見つけました。強力な。
まずプログラムの先頭にファイル simple_html_dom.php を導入します
コードをコピーします コードは次のとおりです:
include_once('simple_html_dom.php');

PHP Simple HTML DOM パーサーは DOM オブジェクトを作成する 3 つの方法を提供します
コードは次のとおりです。
// 文字列から DOM オブジェクトを作成します
$html = str_get_html('Hello!');
// URL からの DOM オブジェクト
$html = file_get_html('http://www.google.com/');
// HTML ファイルからの DOM オブジェクトの作成
$html = file_get_html('test.htm');
DOM オブジェクトを取得した後、さまざまな操作を実行できます
コードをコピー コードは次のとおりです:
// すべてのアンカーを検索し、要素オブジェクトの配列を返します
$ret = $html->find('a');
// (N) 番目のアンカーを検索し、要素オブジェクトを返すか、見つからない場合は null を返します (ゼロベース)
$ret = $html->find('a', 0);
// 最後のアンカーを検索し、要素オブジェクトを返します見つからない場合は null (ゼロベース)
$ret = $html->find('a', -1);
// id 属性を持つすべての

を検索します
$ret = $html-> find('div[id]') ;
// id=foo の属性をすべて検索
$ret = $html->find('div[id=foo]'); jQuery で DOM 操作を実行すると非常に便利です。さらに、テキストとコメントの内容を取得するための 2 つの特別な属性があります。
コードをコピーします。 コードは次のとおりです。
// すべてのテキスト ブロックを検索します
$es = $html->find('text');
/ / すべてのコメント () ブロックを検索
$es = $html->find('comment');

もちろん、jQuery と同様に、PHP Simple HTML DOM Parser も操作の連鎖と、DOM 要素にアクセスするためのさまざまな単純なメソッドをサポートします。
コードをコピーします。 コードは次のとおりです。
// 例
echo $html->find("#div1", 0)->children(1)-> ;children(1 )->children(2)->id;
// または
echo $html->getElementById("div1")->childNodes(1)->childNodes(1)-> ;childNodes(2 )->getAttribute('id');

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!