最近、PHP を使用して HTML を解析する必要があるクローラーを作成したいと思い、sourceforge で CSS セレクターを通じて指定された DOM 要素を返すことができるプロジェクトを見つけました。強力な。
まず、プログラムの先頭にファイル simple_html_dom.php を導入します
コードをコピーします コードは次のとおりです:
include_once(' simple_html_dom.php');
コードをコピー コードは次のとおりです:
// 文字列から DOM オブジェクトを作成します
$html = str_get_html('
コードをコピー コードは次のとおりです:
// すべてのアンカーを検索し、要素オブジェクトの配列を返します
$ret = $html->find(' a');
/ / (N) 番目のアンカーを検索し、見つからない場合は要素オブジェクトを返す (ゼロベース)
$ret = $html->find('a', 0); >// 最新のアンカーを検索し、見つからない場合は要素オブジェクトまたは null を返します (ゼロベース)
$ret = $html->find('a', -1)
// すべてを検索
コードをコピー コードは次のとおりです:
// すべてのテキスト ブロックを検索$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');