DOMDocument::loadHTMLFile

(PHP 5, PHP 7, PHP 8)

DOMDocument::loadHTMLFile Загрузка HTML из файла

Описание

public DOMDocument::loadHTMLFile(string $filename, int $options = 0): bool

Функция разбирает HTML-документ из файла filename. В отличие от загрузки XML, HTML не обязан быть правильно построен для загрузки.

Внимание

Эта функция анализирует входные данные, используя синтаксический анализатор HTML 4. В браузеры встроен синтаксический анализатор HTML 5, у которого другие правила анализа. Какая структура DOM будет сформирована — зависит от входных данных. Поэтому эту функцию нельзя использовать для безопасной очистки HTML.

Например, некоторые HTML-элементы будут неявно закрывать родительский элемент. Правила для автоматического закрытия родительских элементов у HTML 4 и HTML 5 разные, поэтому результирующая структура DOM, которую видит объект класса DOMDocument может отличаться от структуры DOM, которую видит веб-браузер, что дает возможность злоумышленнику сломать результирующий HTML.

Список параметров

filename

Путь к HTML-файлу.

options

Побитовое ИЛИ (OR) констант опций libxml.

Возвращаемые значения

Возвращает true в случае успешного выполнения или false, если возникла ошибка.

Ошибки

Если через аргумент filename передана пустая строка или файл ничего не содержит, будет сгенерировано предупреждение. Это предупреждение генерируется не libxml, поэтому оно не может быть обработано функциями обработки ошибок libxml.

Несмотря на то что некорректный HTML обычно успешно загружается, эта функция может генерировать ошибки уровня E_WARNING при обнаружении плохой разметки. Для обработки этих ошибок можно использовать функции обработки ошибок libxml.

Список изменений

Версия Описание
8.3.0 Теперь функция имеет предварительный логический (bool) тип возвращаемого значения.
8.0.0 При статическом вызове функции теперь будет выбрасываться ошибка Error. Ранее выдавалась ошибка уровня E_DEPRECATED.

Примеры

Пример #1 Создание документа

<?php
$doc
= new DOMDocument();
$doc->loadHTMLFile("filename.html");
echo
$doc->saveHTML();
?>

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

  • DOMDocument::loadHTML() - Загрузка HTML из строки
  • DOMDocument::saveHTML() - Сохраняет документ из внутреннего представления в строку, используя форматирование HTML
  • DOMDocument::saveHTMLFile() - Сохраняет документ из внутреннего представления в файл, используя форматирование HTML