ホームページ > バックエンド開発 > PHPチュートリアル > PHP でクラス名によって DOM 要素を効率的に選択するにはどうすればよいですか?

PHP でクラス名によって DOM 要素を効率的に選択するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-12 17:37:15
オリジナル
753 人が閲覧しました

How Can I Efficiently Select DOM Elements by Class Name in PHP?

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

この質問は、クラス名に基づいて DOM ノードからサブ要素を抽出することを中心に展開します。

PHP DOMアプローチ

1 つの方法では、PHP DOM の機能を利用して、DOM を横断します。 CSSセレクター。クラス名で要素を選択するには、次の構文を使用します:

$nodes = $document->getElementsByClassName('class-name');
ログイン後にコピー

Xpath セレクター アプローチ

または、Xpath セレクターを利用することもできます:

//*[contains(@class, 'class-name')]
ログイン後にコピー

Zend_Dom_Query アプローチ

より複雑なクエリについては、次の利用を検討してください。 CSS セレクター構文をサポートする Zend_Dom_Query:

$finder = new Zend_Dom_Query($html);
$nodes = $finder->query('*[class~="class-name"]');
ログイン後にコピー

CSS セレクターの Xpath バージョンの更新

CSS セレクターを変更することで、より効率的な Xpath 相当物を取得できます:

[contains(concat(' ', normalize-space(@class), ' '), ' class-name ')]
ログイン後にコピー

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート