【PHP8.x】textContentプロパティの使い方
textContentプロパティの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
textContentプロパティは、DOM\HTMLElementクラスに属し、指定されたHTML要素とそのすべての子孫要素が持つテキストコンテンツを保持するプロパティです。このプロパティを使用すると、HTMLタグやコメントノードを除外し、要素内の純粋な可読テキスト部分のみを取得することができます。例えば、あるHTML要素が<p>こんにちは、<b>世界</b>!</p>という内容を持っている場合、textContentプロパティを取得すると「こんにちは、世界!」という文字列が得られます。
また、このプロパティに新しい文字列を設定することで、HTML要素の内容を更新することも可能です。文字列を設定すると、対象となるHTML要素の既存の子ノードはすべて削除され、設定された新しいテキストコンテンツのみが挿入されます。この際、設定された文字列は自動的にHTMLエンティティにエスケープされることはありません。したがって、ユーザーからの入力をtextContentプロパティに直接設定する際には、クロスサイトスクリプティング(XSS)などのセキュリティ上の脆弱性を避けるため、必ず適切なエスケープ処理を行う必要があります。
このプロパティは、要素の構造そのものには影響を与えずに、その要素が持つテキスト情報のみを簡潔に扱いたい場合に非常に有用です。HTML文書の内容からテキストを抽出したり、表示されているテキストをプログラムから変更したりする際に活用されます。
構文(syntax)
1<?php 2$document = new Dom\HTMLDocument(); 3 4// Dom\HTMLElement を実装する要素を作成 5// createElement('p') は Dom\HTMLParagraphElement を返し、これは Dom\HTMLElement を実装しています。 6$element = $document->createElement('p'); 7 8// textContent プロパティに文字列を設定 9$element->textContent = 'PHPで設定されたテキストコンテンツ。'; 10 11// textContent プロパティから文字列を取得し出力 12echo $element->textContent; 13?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
string
このプロパティは、要素とその子孫のすべてのテキストコンテンツを結合した文字列を返します。