【PHP8.x】querySelectorAllメソッドの使い方
querySelectorAllメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
querySelectorAllメソッドは、呼び出し元のDom\Elementオブジェクト(現在の要素)の子孫要素の中から、指定されたCSSセレクタに一致するすべての要素を選択し、取得するために使用されるメソッドです。このメソッドは、引数として一つ以上のCSSセレクタを含む文字列を受け取ります。このCSSセレクタは、HTMLやXML文書内で特定の要素を識別するためのルールであり、例えばタグ名、クラス名、ID、属性、あるいはこれらの組み合わせなど、WebブラウザのCSSと同じ記法で要素を特定する条件を指定できます。
メソッドが実行されると、現在の要素をルートとしてその内部を探索し、指定されたセレクタに合致する要素をすべて見つけ出します。見つかった要素は、Dom\NodeListオブジェクトとして返されます。Dom\NodeListは、マッチした要素を順序付けられたリストとして保持しており、プログラムから個々の要素にアクセスして操作することが可能です。もし、指定されたセレクタに一致する要素が一つもなかった場合でも、エラーは発生せず、要素を含まない空のDom\NodeListが返されます。
この機能は、HTMLやXML文書の特定の構造や属性に基づいて複数の要素を効率的に抽出し、操作したい場合に非常に有用です。例えば、Webページ上にある特定のクラスを持つすべてのボタン要素や、特定の親要素内にあるすべてのリストアイテムなどを一度に取得する際に活用されます。PHPのDOM拡張機能におけるDom\Element::querySelectorAllは、文書の構造をプログラムから柔軟かつ強力に操作するための重要な手段を提供します。
構文(syntax)
1<?php 2$document = new Dom\Document(); 3$document->loadHTML('<body><p class="greeting">Hello</p><p class="name">World</p></body>'); 4 5$parentElement = $document->querySelector('body'); 6 7$nodeList = $parentElement->querySelectorAll('p.greeting'); 8?>
引数(parameters)
string $selectors
- string $selectors: 検索するCSSセレクターを指定する文字列
戻り値(return)
Dom\NodeList
指定されたCSSセレクターに一致するすべての子孫要素のリストを返します。