Dom\HTMLDocument::createFromString

文字列の HTML ドキュメントをパースする

説明

public static Dom\HTMLDocument Dom\HTMLDocument::createFromString(string $source, int $options = 0, stringnull $overrideEncoding = null)

文字列の HTML ドキュメントを、Living Standard に従ってパースします。

パラメータ

source
パースする HTML の文字列
options

追加の Libxml パラメータ を、ビット演算子の OR で指定します。

Dom\HTML_NO_DEFAULT_NS を渡すことで、 HTML 名前空間や template 要素の使用を無効化することもできます。 このオプションは、及ぼす影響を十分理解している場合に限り使用すべきです。
overrideEncoding
ドキュメントが作成されたエンコーディング。 指定されていない場合、最も使用されている可能性の高いエンコーディングを判定しようとします。

戻り値

パース済みのドキュメントを、Dom\HTMLDocument のインスタンスとして返します。

エラー / 例外

  • options が不正なオプションを含む場合、 ValueError をスローします。
  • overrideEncoding が未知のエンコーディングである場合、 ValueError をスローします。

例1 Dom\HTMLDocument::createFromString の例

サンプルのドキュメントをパースします。

<?php
$dom = Dom\HTMLDocument::createFromString(<<<'HTML'
<!DOCTYPE html>
<html>
<body>
   <p>Hello, world!</p>
</body>
</html>
HTML);
echo $dom->saveHtml();
?>

上の例の出力は以下となります。

<!DOCTYPE html><html><head></head><body>
    <p>Hello, world!</p>

</body></html>

注意

注意: html タグや head タグの中の空白は 必ずしも保持されません。インデント等が失われる可能性があります。

参考

  • Dom\HTMLDocument::createEmpty
  • Dom\HTMLDocument::createFromFile