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

WBOY
リリース: 2016-06-13 12:05:53
オリジナル
1025 人が閲覧しました

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

コードをコピーします コードは次のとおりです:


include_once(' simple_html_dom.php');


PHP シンプル HTML DOM パーサーは、DOM オブジェクトを作成する 3 つの方法を提供します

コードをコピー コードは次のとおりです:


// 文字列から DOM オブジェクトを作成します
$html = str_get_html('Hello!< ;/html>' );
// URL から DOM オブジェクトを作成します
$html = file_get_html('http://www.google.com/');
// DOM オブジェクトを作成しますHTML ファイルから
$html = file_get_html('test.htm');


DOM オブジェクトを取得した後、さまざまな操作を実行できます

コードをコピー コードは次のとおりです:


// すべてのアンカーを検索し、要素オブジェクトの配列を返します
$ret = $html->find(' a');
/ / (N) 番目のアンカーを検索し、見つからない場合は要素オブジェクトを返す (ゼロベース)
$ret = $html->find('a', 0); >// 最新のアンカーを検索し、見つからない場合は要素オブジェクトまたは null を返します (ゼロベース)
$ret = $html->find('a', -1)
// すべてを検索 $ret = $html->find('div[id]');
// id=foo のすべての

を検索します->find('div[ id=foo]');


ここでは、jQuery の DOM 操作と同じように、さまざまな CSS セレクターを使用でき、非常に便利です。さらに、テキストとコメントの内容を取得するための 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.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート