【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オブジェクトを返します。