При необходимости обработки большого количества HTML документов в полный рост встает вопрос исправления некорректного кода. Все самое лучшее уже придумали.
HTML Tidy — исправление некорректного кода
HTML Tidy бесплатная программа для исправления ошибок в html, xhtml, xml коде. Из возможностей — преобразование html в корректный xhtml, закрытие тегов, исправление порядка вложенности тегов и все остальное.
HTML Tidy Library Project — страница проекта. Версии для разных ОС
Исправь свои WEB-страницы с помощью HTML Tidy — статья с примерами работы утилиты HTML Tidy на w3.org
Сама по себе Tidy HTML представляет собой консольную программу, которая получая на входе файл и перечень опций способна вернуть "исправленную" версию кода + (при необходимости) файл со списком найденных ошибок.
Чтобы получить список опций необходимо запустить Tidy с параметром "-help" или (для более подробного описания) "-help | more".
Если в обрабатываемом файле присутствует кириллица — необходимо включить параметр raw для опции char-encoding. Это важно!
На сайте разработчика присутствует GUI для тех кто без него никак: GUI Tidy HTML для Windows и Linux.
Решения на PHP для исправления некорректного HTML, XHTML
Существует tidy-модуль к php. Вероятно его использование (где это возможно) — оптимальное решение. Как вариант предлагается воспользоваться классом HTMLSax3.
WordPress должен исправлять некорректный XHTML код автоматически
В WordPress для автоматического исправления кода существует специальный фильтр force_balance_tags, который находится в файле wp-includes/formatting.php
Важно понимать, что обработка введенного этим фильтром (который активизируется галкой "WordPress should correct invalidly nested XHTML automatically" на странице Settings → Writing) кода производится в момент публикации.
Зачем это все может понадобиться
Превращение документов текстовых редакторов (типа MS Word) или визуальных редакторов в правильные HTML страницы.
Автоматический парсинг чужого HTML.
Исправление некорректного HTML, XHTML
При необходимости обработки большого количества HTML документов в полный рост встает вопрос исправления некорректного кода. Все самое лучшее уже придумали.