ホームページ >ウェブフロントエンド >CSSチュートリアル >PHP でクラス名によって DOM 要素を取得するにはどうすればよいですか?

PHP でクラス名によって DOM 要素を取得するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-18 00:04:09616ブラウズ

How Can I Get DOM Elements by Class Name in PHP?

PHP でクラス名による DOM 要素の取得

特定のクラス名を持つ DOM 要素の取得は、Web スクレイピングとオートメーションの一般的なタスクです。 PHP では、これを実現するための複数の方法が提供されています。

XPath の使用

次の XPath クエリを使用して、クラス名に基づいて要素を選択できます。

//*[contains(@class, 'CLASS_NAME')]

例:

$dom = new DomDocument();
$dom->load($filePath);
$finder = new DomXPath($dom);
$classname = "my-class";
$nodes = $finder->query("//*[contains(@class, '$classname')]");

の使用CSS セレクター構文

PHP ライブラリである Zend_Dom_Query は CSS セレクター構文をサポートしており、次の CSS セレクターを使用できます:

*[class~="CLASS_NAME"]

例:

$finder = new Zend_Dom_Query($html);
$classname = 'my-class';
$nodes = $finder->query("*[class~='$classname']");

追加注:

  • 探している要素に特定のタグ名がある場合は、クエリ内のアスタリスク (*) をタグ名に置き換えることができます。
  • Zend_Dom_Query は、複雑なセレクター要件に推奨されます。
  • Mechanize を使用している場合、DOM を操作するためのより簡単な方法が提供されます。要素。

以上がPHP でクラス名によって DOM 要素を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。