【PHP8.x】baseURIプロパティの使い方

baseURIプロパティの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

『baseURIプロパティは、そのノードのベースURI(Base Uniform Resource Identifier)を保持する読み取り専用のプロパティです。ベースURIとは、文書内で使用されている相対パス(例: images/photo.jpg)を、完全なURL(例: https://example.com/path/images/photo.jpg)に変換するための基準となるURIを指します。HTML文書やXML文書を扱う際、画像やリンクなどのリソースが相対パスで記述されていることはよくあります。このプロパティを使用することで、各ノードがどのURIを基準にしているかをプログラムで正確に把握でき、相対的なリンクを絶対的なリンクへ解決する処理などに役立ちます。ベースURIは、通常、文書が読み込まれた場所のURIや、HTMLの<base>タグ、XMLのxml:base属性によって決定されます。もし文書がファイルやURLから読み込まれておらず、メモリ上で動的に生成された場合など、基準となるURIが不明な状況では、このプロパティはnullを返します。このプロパティは読み取り専用であるため、baseURIに直接値を代入して変更することはできません。』

構文(syntax)

1<?php
2
3$html = <<<HTML
4<!DOCTYPE html>
5<html>
6<head>
7  <title>Example</title>
8</head>
9<body>
10  <p id="paragraph">This is a paragraph.</p>
11</body>
12</html>
13HTML;
14
15$doc = new DOMDocument();
16
17// ドキュメントのURIを設定します。これが基底URIの基準となります。
18$doc->documentURI = 'http://www.example.com/path/page.html';
19$doc->loadHTML($html);
20
21$node = $doc->getElementById('paragraph');
22
23// DOMNodeの baseURI プロパティにアクセスして、ノードの基底URIを取得します。
24echo $node->baseURI;
25
26?>

引数(parameters)

戻り値(return)

string|null

DOMNodeオブジェクトが属するドキュメントのベースURIを文字列で返します。ドキュメントにベースURIが定義されていない場合はnullを返します。

【PHP8.x】baseURIプロパティの使い方 | いっしー@Webエンジニア