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

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

作成日: 更新日:

基本的な使い方

nodeValueプロパティは、PHPのDOM拡張機能におけるDOMNodeクラスに定義されており、DOM(Document Object Model)ツリー内の各ノードが持つ値を保持するプロパティです。このプロパティは、ノードの種類に応じてそのノードの主要なテキストデータや内容を提供します。

具体的には、テキストノード(DOMText)、コメントノード(DOMComment)、CDATAセクションノード(DOMCDATASection)の場合、そのノードの実際のテキストコンテンツやコメント内容が文字列として返されます。例えば、HTMLの<p>これはテキストです</p>という要素の中の「これはテキストです」という部分は、テキストノードのnodeValueとして取得できます。また、属性ノード(DOMAttr)の場合には、その属性の値(例: <img src="image.jpg">におけるsrc属性の値であるimage.jpg)が文字列として保持されます。

一方、要素ノード(DOMElement)の場合、nodeValueプロパティは通常NULLを返します。しかし、要素ノードの直接の子としてテキストノードが存在する場合、それらのテキストコンテンツが連結された文字列として返されることがあります。この挙動は、要素が純粋なテキストコンテンツのみを持つ場合に役立ちますが、複雑な構造を持つ要素ではNULLとなるため、利用時には注意が必要です。

このnodeValueプロパティは、XMLやHTMLドキュメントのコンテンツを読み取ったり、変更したりする際に非常に頻繁に利用されます。ノードの種類に応じて適切な値を取得・設定することで、DOMツリーの操作が効率的に行えます。開発者は、操作対象のノードがどのタイプであるかを意識してこのプロパティを利用することが重要です。

構文(syntax)

1<?php
2$dom = new DOMDocument();
3$element = $dom->createElement('example', 'Initial Text');
4$dom->appendChild($element);
5
6// DOMNode の nodeValue プロパティから値を取得
7$currentValue = $element->nodeValue;
8
9// DOMNode の nodeValue プロパティに値を設定
10$element->nodeValue = 'Updated Text';
11
12// 設定後の値を取得して表示
13echo $element->nodeValue;
14?>

引数(parameters)

戻り値(return)

?string

DOMNode オブジェクトのテキストコンテンツを文字列で取得します。ノードがテキストノードではない場合や、ノードにテキストコンテンツがない場合は null が返されます。