Ниже приведен код скрипта, который позволяет автоматически преобразовать HTML-код в корректный XML-код, который можно затем загружать в DOM-документ. Преобразованный код будет без ошибок открываться в XML-редакторе, на нем будут работать запросы XPath. В преобразованном коде будут правильно открыты и закрыты XML-теги.
Примечание: Для корректной работы скрипта с кириллицей в UTF-8, в PHP должно быть активировано расширение mbstring. Для дистрибутива Debian Linux данное расширение активируется путем установки пакета php-mbstring:
> apt-get install php-mbstring
Скрипт выглядит следующим образом:
#!/usr/bin/php
<?php
$fromFile = "code01.html";
$toFile = "code02.xml";
$dom=new DomDocument('1.0', 'UTF-8');
$dom->formatOutput = true;
$content = file_get_contents($fromFile);
$content = mb_convert_encoding($content, 'HTML-ENTITIES', 'UTF-8');
$dom->loadHTML($content);
$dom->encoding = 'UTF-8';
$dom->save($toFile);
?>
При желании, данный скрипт можно изменить так, чтобы в качестве входных и выходных файлов использовались аргументы командной строки.