ホームページ >ウェブフロントエンド >CSSチュートリアル >PHP を使用してクラス名によって DOM 要素を効率的に取得する方法
クラス名で DOM 要素を取得する方法
DOM ノードから特定のクラス名を持つサブ要素を取得するには、さまざまな方法を使用します。以下にいくつかのアプローチを示します。
PHP DOM の使用
PHP DOM は、HTML ドキュメントを操作する強力な方法を提供します。特定のクラス名を持つ要素を取得するには、Xpath セレクターを使用できます。
$dom = new DomDocument(); $dom->load($filePath); $finder = new DomXPath($dom); $classname = "my-class"; $nodes = $finder->query("//*[contains(@class, '$classname')]");
Zend_Dom_Query の使用
このライブラリは、CSS セレクターを操作するための便利なインターフェイスを提供します。要素の選択を容易にします:
$finder = new Zend_Dom_Query($html); $classname = 'my-class'; $nodes = $finder->query("*[class~=\"$classname\"]");
を使用する*[@class~='my-class'] CSS セレクターの Xpath バージョン
さらなる調査の結果、CSS セレクターの Xpath バージョンが発見されました:
[contains(concat(' ', normalize-space(@class), ' '), ' my-class ')]
使用PHP のこの xpath:
$finder = new DomXPath($dom); $classname = "my-class"; $nodes = $finder->query("//*[contains(concat(' ', normalize-space(@class), ' '), ' $classname ')]");
以上がPHP を使用してクラス名によって DOM 要素を効率的に取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。