最近、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/'); HTML ファイルからオブジェクトを取得します
$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 操作と同じように、さまざまな CSS セレクターを使用でき、非常に便利です。さらに、テキストとコメントの内容を取得するための 2 つの特別な属性があります
コードをコピーします コードは次のとおりです:
// すべてのテキスト ブロックを検索します
$es = $html->find ('text' );
// すべてのコメント () ブロックを検索
$es = $html->find('comment');
これはまだ jQuery に似ていますが、PHP シンプル HTML DOM パーサーは、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');
上記では、http://www.google.com.hk/ のコンテンツを含む、PHP を使用して HTML を解析する http://www.google.com.hk/ の実装コードを紹介しています。お友達が PHP に興味を持っていただければ幸いです。チュートリアル。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31