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

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

作成日: 更新日:

基本的な使い方

parentElementプロパティは、PHPのDom\HTMLElementクラスに属し、現在のHTML要素の直接の親要素を保持するプロパティです。このプロパティは、PHPスクリプトがHTMLドキュメントの構造をプログラム的に探索し、操作する際に利用されます。

Webページを構成するHTMLは、要素が階層的に入れ子になった木構造(DOMツリー)として表現されます。Dom\HTMLElementクラスは、そのDOMツリー上の個々のHTML要素をPHPオブジェクトとして扱うためのものです。parentElementプロパティは、現在操作しているDom\HTMLElementオブジェクトが表すHTML要素の、上位に位置する直接の親要素への参照を提供します。例えば、<p>タグ</p><div>タグの子要素である場合、<p>要素に対応するDom\HTMLElementオブジェクトのparentElementプロパティは、<div>要素に対応するDom\HTMLElementオブジェクトを返します。

このプロパティが返す値の型はDom\HTMLElementオブジェクトです。しかし、対象の要素に親が存在しない場合、つまりドキュメントのルート要素(例: <html>要素)自体を扱っている場合は、nullを返します。そのため、parentElementプロパティから取得した値を利用する際には、nullが返される可能性を考慮し、適切にnullチェックを行うことが重要です。

parentElementプロパティは、特定の要素がどの親要素の下にあるのかを調べたり、親要素の属性や内容を変更したり、DOMツリーを遡って特定の条件を満たす祖先要素を探したりといった、多様なDOM操作のシナリオで中心的な役割を果たします。これにより、HTMLの解析、加工、生成といったタスクを効率的かつ正確に実装することが可能になります。

構文(syntax)

1<?php
2
3$html = <<<HTML
4<!DOCTYPE html>
5<html>
6<body>
7<div id="parentDiv">
8  <p id="childP">This is a paragraph.</p>
9</div>
10</body>
11</html>
12HTML;
13
14$doc = new Dom\Document();
15$doc->loadHTML($html, LIBXML_NOERROR);
16
17// <p>要素を取得
18$p = $doc->getElementById('childP');
19
20// parentElement プロパティで親要素を取得
21$parent = $p->parentElement;
22
23// 親要素のタグ名を出力します
24if ($parent instanceof \Dom\Element) {
25    echo $parent->tagName; // "div"
26}
27
28?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

?Dom\Element

この parentElement プロパティは、現在の要素の親要素を返します。親要素が存在しない場合は null を返します。

関連コンテンツ

関連プログラミング言語