Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【PHP8.x】Dom\Entity::lookupPrefix()メソッドの使い方

lookupPrefixメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

『lookupPrefixメソッドは、指定した名前空間URIに対応する接頭辞を検索し、取得するために使用するメソッドです。XMLやHTMLドキュメントにおいて、特定の名前空間がどの接頭辞(例: rdf:dc: など)と関連付けられているかを調べる際に役立ちます。このメソッドは、現在のエンティティノードを起点として、ドキュメントの階層を親要素へと遡りながら、引数で与えられた名前空間URIに合致する最も近い名前空間宣言を探します。合致する宣言が見つかった場合、その接頭辞を表す文字列を返します。例えば、xmlns:app="http://example.com/app" という宣言が存在するスコープ内でこのメソッドを呼び出し、引数に "http://example.com/app" を指定すると、戻り値として "app" が得られます。一方で、指定した名前空間URIに対応する接頭辞が見つからなかった場合や、対象が接頭辞を持たないデフォルト名前空間であった場合には、null を返します。これにより、動的に名前空間の接頭辞を解決することが可能になります。』

構文(syntax)

1<?php
2
3$xml = <<<XML
4<root xmlns:book="urn:example:books">
5  <book:title>PHP 8 Programming</book:title>
6</root>
7XML;
8
9$doc = new DOMDocument();
10$doc->loadXML($xml);
11
12$element = $doc->getElementsByTagName('title')->item(0);
13
14// public function Dom\Node::lookupPrefix(string $namespace): ?string
15$prefix = $element->lookupPrefix('urn:example:books');
16
17var_dump($prefix); // string(4) "book"
18
19?>

引数(parameters)

string $namespace

  • string $namespace: 指定された名前空間URIに関連付けられたプレフィックスを検索するための名前空間URI

戻り値(return)

?string

指定されたURIに対応する名前空間プレフィックスを文字列で返します。見つからない場合はnullを返します。

関連コンテンツ

関連プログラミング言語