【PHP8.x】matchesメソッドの使い方
matchesメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
matchesメソッドは、Dom\Elementオブジェクトが指定されたCSSセレクタに一致するかどうかを判定するメソッドです。このメソッドは、HTMLやXML文書内の特定の要素(Dom\Elementオブジェクト)が、開発者が定義したCSSセレクタの条件に合致するかどうかを効率的に確認するために利用されます。
引数として、検証したいCSSセレクタを表す文字列$selectorを受け取ります。この$selectorには、例えば.my-class(特定のクラスを持つ要素)、#my-id(特定のIDを持つ要素)、[data-type="button"](特定の属性を持つ要素)など、標準的なCSSセレクタの記法を用いることができます。
matchesメソッドは、現在のDom\Elementオブジェクトが$selectorで指定された条件に一致するかを評価し、その結果を真偽値(boolean)で返します。要素がセレクタの条件に合致する場合はtrueを返し、合致しない場合はfalseを返します。
この機能は、JavaScriptにおけるElement.matches()メソッドと同様の振る舞いをPHPのDOM操作に提供します。これにより、文書ツリーを直接走査することなく、特定のスタイルや構造を持つ要素を効率的に特定したり、条件分岐ロジックを実装したりする際に非常に役立ちます。
構文(syntax)
1<?php 2 3$document = new Dom\Document(); 4$document->loadHTML('<div><p class="example-class" id="example-id">コンテンツ</p></div>'); 5 6$element = $document->getElementById('example-id'); 7 8$selector = 'p.example-class'; 9$isMatched = $element->matches($selector); 10 11?>
引数(parameters)
string $selectors
- string $selectors: マッチさせるCSSセレクターを指定する文字列
戻り値(return)
bool
指定されたセレクタに要素が一致するかどうかを示す真偽値を返します。要素が一致する場合は true、一致しない場合は false を返します。