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

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

作成日: 更新日:

基本的な使い方

createFromStringメソッドは、DOMDocumentオブジェクトとしてHTMLまたはXML文字列から新しいドキュメントを作成するメソッドです。Dom\HTMLDocumentクラスに属し、HTMLDocumentオブジェクトにHTMLコンテンツを読み込むために使用されます。

具体的には、このメソッドは引数としてHTMLまたはXMLの文字列を受け取り、その文字列を解析してDOMDocumentオブジェクトを生成します。生成されたDOMDocumentオブジェクトは、元のHTMLまたはXML文字列の構造を表現するDOMツリーとしてアクセスできます。

このメソッドは、既存のDOMDocumentオブジェクトにHTMLコンテンツを追加したり、HTMLコンテンツから新しいDOMDocumentオブジェクトを作成したりする際に役立ちます。例えば、Webスクレイピングで取得したHTMLコンテンツを解析して、必要な情報を抽出したり、HTMLコンテンツをプログラムで生成してDOMDocumentオブジェクトとして操作したりする場合などに利用できます。

createFromStringメソッドは、HTMLまたはXMLの構文エラーをある程度許容します。しかし、不正な構文を含む文字列を解析した場合、予期しない結果になる可能性があるため、注意が必要です。

このメソッドは、loadHTMLメソッドやloadXMLメソッドと似た機能を提供しますが、createFromStringメソッドは文字列を直接引数として受け取る点が異なります。これにより、ファイルから読み込む手間を省き、メモリ上に存在する文字列から直接DOMDocumentオブジェクトを生成することができます。

createFromStringメソッドは、PHP 8以降で使用可能です。以前のバージョンでは、loadHTMLメソッドやloadXMLメソッドを使用して同様の処理を行う必要があります。

構文(syntax)

1public Dom\Element|false Dom\HTMLDocument::createFromString(string $source): Dom\Element|false

引数(parameters)

string $source, int $options = 0, ?string $overrideEncoding = null

  • string $source: 解析するHTMLソースコードを含む文字列
  • int $options = 0: 解析オプションを指定する整数。デフォルトは0(オプションなし)。
  • ?string $overrideEncoding = null: HTMLソースのエンコーディングを上書きする場合に指定する文字列。指定しない場合はnull。

戻り値(return)

Dom\HTMLDocument

このメソッドは、HTML文字列を解析して作成された新しいHTMLDocumentオブジェクトを返します。

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