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

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

作成日: 更新日:

基本的な使い方

nodeNameプロパティは、DOMNodeオブジェクトが表すノードの名前を保持するプロパティです。PHPのDOM拡張機能において、HTMLやXML文書の構造をプログラムで扱う際、文書内の各構成要素(要素、属性、テキストなど)はDOMNodeという基底クラスを継承したオブジェクトとして表現されます。このプロパティは、そうした各ノードがどのような名前を持っているかを文字列として取得するために利用されます。

ノードの種類によってnodeNameが返す値は異なります。例えば、<div><p>といった要素ノードの場合、nodeNameはそのタグ名(divp)を返します。id="example"のような属性ノードであれば、属性名であるidが返されます。また、テキストコンテンツを表すテキストノードでは#text、コメントを表すコメントノードでは#comment、文書全体を表すドキュメントノードでは#documentといった固定の文字列が返されます。

このプロパティは読み取り専用であり、ノードの名前を直接変更することはできません。主に、現在処理しているノードが特定の要素や属性であるかを確認したり、デバッグ時にノードの種類を素早く判別したりする用途で活用されます。より詳細なノードの種類を厳密に判別したい場合は、nodeTypeプロパティを併用することで、より厳密な制御が可能になります。

構文(syntax)

1<?php
2$dom = new DOMDocument();
3$dom->loadHTML('<html><body><p>Hello PHP</p></body></html>');
4
5// <body> タグの DOMNode オブジェクトを取得します。
6$bodyNode = $dom->getElementsByTagName('body')->item(0);
7
8// 取得したノードの nodeName プロパティにアクセスします。
9echo $bodyNode->nodeName; // 出力: body
10?>

引数(parameters)

戻り値(return)

string

DOMNode オブジェクトのノード名を表す文字列を返します。