(PHP 8 >= 8.4.0)
Dom\HTMLDocument::createFromString — Разбирает содержимое строки как HTML-документ
$source, int $options = 0, ?string $overrideEncoding = null): Dom\HTMLDocumentРазбирает HTML-документ из строки в соответствии со стандартом.
sourceСтрока с HTML-разметкой для разбора.
options
Побитовое ИЛИ (OR)
констант опций libxml.
Разрешается также передавать константу Dom\HTML_NO_DEFAULT_NS,
чтобы отключить пространства имён HTML-документа и элемента шаблона.
Перед передачей константы лучше убедиться, что последствия этого понятны.
overrideEncodingКодировка, в которой создали документ. Метод попытается определить наиболее вероятную кодировку, если кодировку не указали.
Метод возвращает разобранный документ как экземпляр класса Dom\HTMLDocument.
Метод выбрасывает ошибку ValueError,
если аргумент options содержит недопустимые параметры.
Метод выбрасывает ошибку ValueError,
если в аргументе overrideEncoding передали неизвестную кодировку.
Пример #1 Пример разбора строки методом Dom\HTMLDocument::createFromString()
Пример разбирает образец строки.
<?php
$dom = Dom\HTMLDocument::createFromString(<<<'HTML'
<!DOCTYPE html>
<html>
<body>
<p>Привет, мир!</p>
</body>
</html>
HTML);
echo $dom->saveHtml();
?>Результат выполнения приведённого примера:
<!DOCTYPE html><html><head></head><body>
<p>Привет, мир!</p>
</body></html>
Замечание:
Метод не считает пробельные символы в тегах
htmlиheadсущественными, поэтому иногда такие символы теряются при форматировании.