【PHP8.x】containsメソッドの使い方

containsメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

containsメソッドは、Dom\Textオブジェクトが、指定された別のDom\NodeオブジェクトをDOMツリー上で含んでいるかどうかを判定するメソッドです。このメソッドは、PHPのDOM拡張機能の一部であり、Webページの構造をプログラムで操作する際に利用されるDOMツリー内のノード間の関係性を確認するために使用されます。

具体的には、containsメソッドは、メソッドを呼び出したDom\Textインスタンスが、引数として渡されたDom\Nodeインスタンスの「祖先」であるか、または「引数のノードそのもの」である場合に真(true)を返します。Dom\Textクラスはテキストノードを表し、HTMLやXMLドキュメント内の実際のテキストコンテンツを扱います。DOMの仕様上、テキストノードは子ノードを持つことができません。

このため、containsメソッドがtrueを返すのは、引数として渡されたDom\Nodeが、まさにそのcontainsメソッドを呼び出したDom\Textノード自身である場合のみです。それ以外の場合、例えば引数のノードが呼び出し元のDom\Textノードとは異なるノードである、または親子関係にない場合には、偽(false)を返します。

このメソッドは、判定の対象となるDom\Nodeオブジェクトを一つ引数として受け取ります。戻り値はブール値で、含まれていると判定された場合はtrue、そうでない場合はfalseです。主に、特定のテキストノードが意図した通りのオブジェクトであるかを確認するなど、DOMツリー内でノード間の厳密な同一性や限定的な関係性を確認する際に役立ちます。

構文(syntax)

1<?php
2$dom = new DOMDocument();
3$textNode = $dom->createTextNode("Hello, PHP World!");
4$isContained = $textNode->contains("World");

引数(parameters)

?Dom\Node $other

  • ?Dom\Node $other: 比較対象となるDOMノード

戻り値(return)

bool

指定された文字列がDom\Textオブジェクトのコンテンツに含まれているかどうかを示す真偽値(trueまたはfalse)を返します。

関連コンテンツ

関連プログラミング言語