【PHP8.x】nodeValueプロパティの使い方
nodeValueプロパティの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
nodeValueプロパティは、Dom\HTMLElementクラスに属し、DOMツリー内のノードが持つテキストデータを保持するプロパティです。このプロパティは、HTML文書の構造をプログラムから操作する際に利用されるDOM(Document Object Model)の基本的な要素の一つです。
しかし、Dom\HTMLElementのインスタンス、つまりHTMLの要素タグ(例えば<div>や<p>など)では、このnodeValueプロパティは通常nullを返します。これは、要素ノードそのものが直接的なテキストデータを持つのではなく、その子ノードとしてテキストコンテンツを保持するためです。
では、どのような場合にnodeValueが具体的な値を保持するのでしょうか。このプロパティは、要素ノードの子であるテキストノード(HTML内の純粋な文字列)やコメントノード、または属性ノードに対してアクセスした際に、そのノードの具体的なテキストコンテンツや値を保持します。例えば、あるHTMLElementの子として存在するテキストノードのnodeValueを参照することで、実際の文字列を取得したり、新しい文字列を代入して内容を変更したりすることが可能です。
したがって、Dom\HTMLElementの直接のnodeValueはnullですが、その子ノードや関連するノードをたどってnodeValueを使用することで、HTML文書内のより低レベルなテキスト情報を操作することが可能になります。要素ノードの内部にあるすべてのテキストコンテンツをまとめて取得したり設定したりする場合は、通常、より直感的に使えるtextContentプロパティを利用することが推奨されます。nodeValueは、ノードごとのテキストデータにアクセスする際に役立つ、DOM操作の基礎的なプロパティの一つです。
構文(syntax)
1<?php 2 3$dom = new DOMDocument(); 4$dom->loadHTML('<p id="myParagraph">最初のテキスト</p>'); 5 6$element = $dom->getElementById('myParagraph'); 7 8// nodeValue の取得 9$currentText = $element->nodeValue; 10 11// nodeValue の設定 12$element->nodeValue = '新しいテキスト'; 13 14?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
?string
Dom\HTMLElement::nodeValue は、ノードのテキストコンテンツを string 型で返します。ノードにテキストコンテンツがない場合や、ノードがテキストノード以外の場合は null を返します。