【PHP8.x】getAttributeNodeメソッドの使い方

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

作成日: 更新日:

基本的な使い方

『getAttributeNodeメソッドは、HTML要素から指定した名前の属性を、属性ノードオブジェクト (Dom\Attr) として取得するメソッドです。単に属性の値を文字列として返す getAttribute メソッドとは異なり、このメソッドは属性そのものをオブジェクトとして返却する点が特徴です。返される Dom\Attr オブジェクトには、属性の名前 (name プロパティ) や値 (value プロパティ) など、属性に関する詳細な情報が含まれています。引数には、取得したい属性の名前を文字列で渡します。例えば、<div class="sample"> という要素に対して class という文字列を引数に指定すると、class="sample" という属性全体を表すオブジェクトが取得できます。もし指定した名前の属性がその要素に存在しない場合は、このメソッドは null を返します。そのため、戻り値を扱う際には null チェックを行うことが推奨されます。属性の値だけでなく、属性の構造自体をプログラムで操作したい場合に役立ちます。

構文(syntax)

1<?php
2
3$dom = new DOMDocument();
4$dom->loadHTML('<a id="my-link" class="internal" href="/home">Home</a>');
5
6// id="my-link" を持つ要素を取得します
7$element = $dom->getElementById('my-link');
8
9// 要素から 'href' 属性ノードを取得します
10// 戻り値は DOMAttr オブジェクト、または属性が存在しない場合は null
11$attrNode = $element->getAttributeNode('href');
12
13// 取得した属性ノードのプロパティにアクセスします
14if ($attrNode) {
15    // 属性ノードの値を出力します
16    // 出力: /home
17    echo $attrNode->value;
18}
19
20?>

引数(parameters)

string $qualifiedName

  • string $qualifiedName: 属性の完全修飾名(名前空間名とローカル名を含む)を指定する文字列

戻り値(return)

?Dom\Attr

指定された属性名に対応するDom\Attrオブジェクト、または属性が存在しない場合はnullを返します。

【PHP8.x】getAttributeNodeメソッドの使い方 | いっしー@Webエンジニア