ホームページ >ウェブフロントエンド >CSSチュートリアル >PHP を使用してクラス名によって DOM 要素を効率的に取得する方法

PHP を使用してクラス名によって DOM 要素を効率的に取得する方法

Barbara Streisand
Barbara Streisandオリジナル
2024-12-15 01:29:11661ブラウズ

How to Efficiently Retrieve DOM Elements by Class Name Using PHP?

クラス名で 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 サイトの他の関連記事を参照してください。

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