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

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

作成日: 更新日:

基本的な使い方

textContentプロパティは、Dom\HTMLDocumentクラスのインスタンスが表すHTML文書、またはその内部の特定のノードに含まれる純粋なテキストコンテンツを保持するプロパティです。

Dom\HTMLDocumentクラスは、PHPのDOM(Document Object Model)拡張機能の一部であり、HTML文書全体をオブジェクトとして表現し、その構造や内容をプログラムから操作するための基盤を提供します。このクラスを通じて、HTML文書の解析、要素の追加・削除、属性の変更など、多岐にわたる操作が可能です。

textContentプロパティは、指定されたノードとそのすべての子孫ノードが持つテキストデータを、HTMLタグやコメントを除外して、一つの連続した文字列として扱います。例えば、HTML文書全体に対してこのプロパティを読み取ると、その文書に含まれるすべての目に見えるテキストが結合された文字列が得られます。この際、&lt;のようなHTMLエンティティは自動的に<といった通常の文字にデコードされます。

このプロパティに新しい文字列を設定することも可能です。設定された場合、対象となるノードの既存の子ノード(テキストノード、要素ノードなどすべて)は完全に削除され、新たに提供された文字列が単一のテキストノードとしてノードの子に追加されます。これにより、HTML要素の内容をマークアップなしで手軽に更新できます。

textContentは、HTML文書から純粋なテキストコンテンツだけを抽出したい場合や、要素の表示テキストをプログラム的に一括で変更したい場合に非常に便利です。HTMLマークアップを含んだ内容を操作するinnerHTMLプロパティとは異なり、純粋なテキストのみに焦点を当てており、セキュリティ上のリスクを低減しつつ、テキストコンテンツを効率的に扱えます。

構文(syntax)

1<?php
2
3$document = new Dom\HTMLDocument();
4$document->loadHTML('<html><body><p>Example <b>text</b>.</p></body></html>');
5$text = $document->textContent;
6echo $text;
7
8?>

引数(parameters)

戻り値(return)

string

Dom\HTMLDocumentクラスのtextContentプロパティは、そのノードとそのすべての子孫ノードのテキストコンテンツを文字列として返します。HTMLタグやコメントは含まれません。

関連コンテンツ

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