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

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

作成日: 更新日:

基本的な使い方

『loadHTMLメソッドは、引数で指定されたHTML文字列を解析し、DOMDocumentオブジェクトの内部にDOMツリーとして構築する処理を実行するメソッドです。このメソッドの大きな特徴は、XMLのように厳密な文法を要求せず、閉じタグが不足しているなど、完全ではないHTMLもある程度自動的に補完しながら解釈を試みる点です。そのため、Webページから取得したHTMLデータの解析など、必ずしも整形式でない文書を扱う場面で特に有効です。第一引数に解析対象のHTML文字列を渡し、オプションの第二引数には、解析の挙動を制御するための定数を指定できます。例えば、LIBXML_HTML_NOIMPLIEDフラグを使用すると、<html><body>タグが自動的に追加されるのを防ぐことができます。注意点として、このメソッドはデフォルトでISO-8859-1エンコーディングとしてデータを解釈するため、UTF-8などのマルチバイト文字を含むHTMLを扱う際は、HTMLソース内に<meta charset="UTF-8">のような指定が必要です。メソッドは成功時にtrueを返しますが、解析エラーが発生した場合は警告を発生させることが多いため、エラーを詳細に管理したい場合はlibxml_use_internal_errors関数と組み合わせて使用することが推奨されます。

構文(syntax)

1$document = new DOMDocument();
2
3$html_string = '<!DOCTYPE html><html><body><h1>Page Title</h1><p>This is a paragraph.</p></body></html>';
4
5$document->loadHTML($html_string);

引数(parameters)

string $source, int $options = 0

  • string $source: ロードするHTMLソースを指定する文字列
  • int $options = 0: DOMDocumentの動作を制御するオプションを指定する整数

戻り値(return)

bool

HTML文字列をDOMDocumentオブジェクトにロードする処理の成功または失敗を示します。成功した場合はtrueを、失敗した場合はfalseを返します。

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