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

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

作成日: 更新日:

基本的な使い方

textContentプロパティは、PHPのDOM拡張機能において、Dom\Documentクラスが持つ、ドキュメントのすべてのテキストコンテンツを文字列として取得または設定するためのプロパティです。このプロパティを使用すると、HTMLやXMLドキュメント全体から、タグや属性、コメントなどのマークアップを除いた、純粋なテキスト部分のみを簡単に扱えます。

具体的には、Dom\Documentオブジェクトに対してtextContentプロパティを参照すると、そのドキュメント内のすべての要素ノード、テキストノード、CDATAセクションノードなどのテキストコンテンツが結合され、単一の文字列として返されます。これにより、例えばウェブページから記事の本文だけを抽出する際などに非常に便利です。

一方、textContentプロパティに新しい文字列を代入することで、ドキュメント全体のテキストコンテンツを更新することも可能です。この操作を行うと、元のドキュメントが持っていたすべての子ノードは削除され、代入された文字列が新しいテキストノードとしてドキュメントの直下に追加されます。そのため、既存の複雑なドキュメント構造を保持しながら一部のテキストを更新したい場合には注意が必要です。ドキュメントの内容を一括でシンプルなテキストに置き換えたい場合に特に有効です。このプロパティは、ドキュメントの構造を意識せずに、その「中身」であるテキスト情報にアクセスしたり変更したりする際に役立つでしょう。

構文(syntax)

1<?php
2$document = new Dom\Document();
3$document->loadHTML('<!DOCTYPE html><html><body><h1>Title</h1><p>Hello, World!</p></body></html>');
4echo $document->textContent;
5?>

引数(parameters)

戻り値(return)

string

Dom\Document::textContent プロパティは、DOMツリー全体(要素、属性、テキストノードなど)に含まれるすべてのテキストコンテンツを連結した単一の文字列を返します。

関連コンテンツ

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