Dom\HTMLDocument::createFromString

(PHP 8 >= 8.4.0)

Dom\HTMLDocument::createFromStringРазбирает содержимое строки как HTML-документ

Описание

public static Dom\HTMLDocument::createFromString(string $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 существенными, поэтому иногда такие символы теряются при форматировании.

Смотрите также