【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を文字列で返します。

関連コンテンツ

関連プログラミング言語