【PHP8.x】DOMEntityReference::localNameプロパティの使い方
localNameプロパティの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
localNameプロパティは、DOMエンティティ参照のローカル名を保持するプロパティです。DOMは、HTMLやXML文書の構造をプログラムから操作するための仕組みであり、DOMEntityReferenceクラスは文書内で使用されるエンティティ参照(例: & や ©)を表します。このプロパティにアクセスすると、そのエンティティ参照の名前を文字列として取得することが可能です。具体的には、XML文書内に &example; というエンティティ参照が存在する場合、それに対応するDOMEntityReferenceオブジェクトのlocalNameプロパティを参照すると、"example" という文字列が返されます。このプロパティは、XML名前空間で定義された接頭辞(プレフィックス)を含まない、ノード本来の名前を返すという特徴を持っています。DOMEntityReferenceノードの場合、localNameプロパティが返す値はnodeNameプロパティが返す値と同じになります。なお、このプロパティは読み取り専用であるため、localNameプロパティに値を代入してエンティティ参照の名前を後から変更することはできません。
構文(syntax)
1<?php 2 3$xml = <<<XML 4<?xml version="1.0" encoding="utf-8"?> 5<!DOCTYPE root [ 6<!ENTITY myEntity "entity text"> 7]> 8<root> 9 <child>&myEntity;</child> 10</root> 11XML; 12 13$dom = new DOMDocument(); 14$dom->loadXML($xml); 15 16// <child>要素内のエンティティ参照ノードを取得 17$entityReferenceNode = $dom->getElementsByTagName('child')->item(0)->firstChild; 18 19// DOMEntityReference オブジェクトの localName プロパティを取得します。 20// これは名前空間プレフィックスを除いたエンティティ名(この場合は "myEntity")を返します。 21$localName = $entityReferenceNode->localName; 22 23var_dump($localName); 24 25?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
string|null
DOMEntityReference オブジェクトで参照されているエンティティのローカル名を文字列で返します。ローカル名が取得できない場合は null を返します。