【PHP8.x】previousSiblingプロパティの使い方

previousSiblingプロパティの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

previousSiblingプロパティは、DOMツリーにおいて、現在のノードの直前の兄弟ノードを保持するプロパティです。

このプロパティは、PHPのDOM拡張機能に属するDOMEntityクラスのインスタンスからアクセス可能です。DOMEntityクラスは、XMLやHTMLドキュメント内で定義されるエンティティ(実体)を表すクラスであり、DOMNodeクラスを継承しているため、DOMツリー内の他のノードと同様にこのプロパティを利用できます。

ウェブドキュメントの構造は、要素、属性、テキストなどが階層的な木構造、つまりDOMツリーとして表現されます。この木構造における各構成要素は「ノード」と呼ばれます。previousSiblingプロパティは、あるノードに対して、そのノードと親を共有し、かつそのノードの直前に位置する兄弟ノードを取得するために使用されます。

例えば、HTMLドキュメント内で連続する複数の要素がある場合、二番目の要素のpreviousSiblingプロパティを参照すると、一番目の要素が取得できます。もし、現在のノードが親ノードの最初の子であり、直前の兄弟ノードが存在しない場合は、このプロパティはnullを返します。

このプロパティを利用することで、DOMツリーを効率的に探索し、特定のノードの前にある兄弟ノードを取得したり、ノード間の関係性をプログラムで操作したりすることが可能になり、動的なウェブコンテンツの生成や解析に役立ちます。

構文(syntax)

1<?php
2
3$dom = new DOMDocument();
4$dom->loadXML('<!DOCTYPE root SYSTEM "example.dtd" [<!ENTITY myent "My entity content">]> <root/>');
5
6$doctype = $dom->doctype;
7$entity = null;
8
9if ($doctype && $doctype->entities) {
10    $entity = $doctype->entities->getNamedItem('myent');
11}
12
13$previousNode = $entity->previousSibling;
14
15?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

DOMNode|null

DOMEntity クラスの previousSibling プロパティは、現在のエンティティノードの直前の兄弟ノード、または兄弟ノードが存在しない場合は null を返します。

関連コンテンツ

関連プログラミング言語