【PHP8.x】parentNodeプロパティの使い方
parentNodeプロパティの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
parentNodeプロパティは、PHPのDOM拡張機能において、DOMNodeクラスのインスタンスが所属するDOMツリーにおける親ノードを保持するプロパティです。このプロパティを使用することで、現在のノードからその直上の親ノードにアクセスできます。
具体的には、DOMNodeオブジェクトが表す要素やテキストなどのノードが、どの要素やドキュメントの子ノードであるかを特定する際に利用されます。例えば、特定のHTML要素の子ノードから、その親要素に移動してさらに操作を行いたい場合に、このparentNodeプロパティを参照します。
parentNodeプロパティが保持する値は、親ノードを表すDOMNode型のオブジェクト、または親ノードが存在しない場合はnullになります。親ノードが存在しないケースとしては、DOMDocumentオブジェクト(ドキュメントツリーのルートノード)自体や、DOMDocumentFragmentのようにまだ実際のドキュメントツリーに挿入されていないノードなどが挙げられます。
このプロパティは読み取り専用であり、その値を直接変更することはできません。これは、DOMツリーの構造的な整合性を保つための設計です。parentNodeプロパティは、DOMツリーの階層構造を上方向にたどるナビゲーションにおいて不可欠であり、複雑なDOM構造を解析したり操作したりする際に非常に役立ちます。
構文(syntax)
1<?php 2$html = '<html><body><div id="container"><p>Hello, World!</p></div></body></html>'; 3 4$dom = new DOMDocument(); 5$dom->loadHTML($html); 6 7// <p>ノードを取得します 8$paragraphNode = $dom->getElementsByTagName('p')->item(0); 9 10if ($paragraphNode) { 11 // parentNode プロパティを使用して、現在のノードの親ノードを取得します 12 $parentNode = $paragraphNode->parentNode; 13 14 // 取得した親ノードの名前を表示します(この場合 'div' が表示されます) 15 echo $parentNode->nodeName; 16} 17?>
引数(parameters)
戻り値(return)
?DOMNode
このプロパティは、現在のDOMNodeオブジェクトの親ノードを表すDOMNodeオブジェクトを返します。親ノードが存在しない場合は null を返します。