【PHP8.x】baseURIプロパティの使い方
baseURIプロパティの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
baseURIプロパティは、Dom\HTMLElementオブジェクトの基底URIを文字列として保持するプロパティです。基底URIとは、Webページ内で相対的に指定されるURI(例えば、<img>タグのsrc属性や<a>タグのhref属性に記述されるパス)を、インターネット上の完全なアドレスである絶対URIに解決する際の基準となるURIを指します。
このプロパティは読み取り専用であり、値を設定することはできません。対象となるHTML要素が属するドキュメントの基底URIの値を取得するために使用されます。例えば、プログラムがWebページの内容を解析し、相対パスで記述された画像ファイルやスタイルシート、リンク先などのリソースの絶対パスを特定する必要がある場合に、このbaseURIプロパティが提供する情報が役立ちます。
HTMLドキュメント内に<base href="...">タグが存在する場合、そのhref属性で指定されたURIがドキュメントの基底URIとして優先的に適用されます。このタグが存在しない場合や指定がない場合は、通常、現在のドキュメント自身のURLが基底URIとして扱われます。システムエンジニアにとって、DOMを操作してWebコンテンツからリソースのパスを抽出し、それらを正確な絶対パスに解決する場面で、このbaseURIプロパティは重要な役割を果たします。
構文(syntax)
1<?php 2// Dom\HTMLElement のインスタンスを作成または取得します。 3// 例として、HTML ドキュメントを作成し、その中の要素を取得します。 4$dom = new DOMDocument(); 5$html = ' 6<!DOCTYPE html> 7<html> 8<head> 9 <base href="http://www.example.com/path/"> 10</head> 11<body> 12 <a href="file.html">Link</a> 13</body> 14</html>'; 15$dom->loadHTML($html); 16 17// DOMDocument から Dom\HTMLElement のインスタンス(ここでは <a> 要素)を取得します。 18// PHP 8 以降では、DOMElement の一部のインスタンスは Dom\HTMLElement として扱われます。 19$element = $dom->getElementsByTagName('a')->item(0); 20 21// Dom\HTMLElement の baseURI プロパティにアクセスし、基底 URI を取得します。 22$baseUri = $element->baseURI; 23 24// 取得した基底 URI を表示します。 25echo $baseUri; 26?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
string
このbaseURIプロパティは、要素が属するドキュメントのベースURIを文字列で返します。