【PHP8.x】DOMProcessingInstruction::lookupPrefix()メソッドの使い方
lookupPrefixメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
『lookupPrefixメソッドは、指定された名前空間URIに対応する接頭辞を検索して返す処理を実行するメソッドです。このメソッドは、現在の処理命令ノードを基点として、その親ノードを文書のルート要素に向かって遡りながら検索を行います。引数として必須の$namespaceに、探したい名前空間URIを文字列で指定します。検索の結果、引数で渡された名前空間URIに合致する最も近い名前空間宣言が見つかった場合、その接頭辞を文字列として返します。一方で、対応する接頭辞が見つからなかった場合、または指定したURIが接頭辞を持たないデフォルト名前空間として宣言されている場合にはnullを返します。XML文書をプログラムで操作する際、特定の技術仕様に関連する要素を正確に扱うために、その名前空間に対応する接頭辞を動的に知る必要がある場面で役立ちます。
構文(syntax)
1<?php 2 3$xml = <<<XML 4<?xml version="1.0"?> 5<root xmlns:app="urn:example-namespace"> 6 <?php-worker process-task?> 7</root> 8XML; 9 10$doc = new DOMDocument(); 11$doc->loadXML($xml); 12 13$processingInstruction = null; 14foreach ($doc->documentElement->childNodes as $node) { 15 if ($node instanceof DOMProcessingInstruction) { 16 $processingInstruction = $node; 17 break; 18 } 19} 20 21$namespaceURI = 'urn:example-namespace'; 22$prefix = $processingInstruction->lookupPrefix($namespaceURI); 23 24echo $prefix; 25 26?>
引数(parameters)
string $namespace
- string $namespace: 名前空間のURIを指定する文字列
戻り値(return)
string|null
指定された名前空間プレフィックスを検索し、最初に見つかったものがあればその名前空間プレフィックスの文字列を返します。見つからなかった場合は null を返します。