Я строю большой HTML-документ из фрагментов, предоставленных пользователями, у которых есть раздражающая привычка к искажению по-разному. Браузеры достаточно прочные и прощающие, но я хочу иметь возможность проверить и (в идеале) исправить любой неверный HTML, если это вообще возможно. Например:
<td><b>Title</td>
может быть разумно закреплена на:
<td><b>Title</b></td>
Есть ли способ сделать это легко в PHP?
Вы можете использовать HTML Tidy , man-страницы здесь .
Я настоятельно рекомендую очиститель HTML . На своем сайте:
HTML Purifier – это стандартная библиотека фильтров HTML, написанная на PHP. HTML-очиститель не только удалит весь вредоносный код (более известный как XSS) с тщательно проверенным, безопасным, но и разрешенным «белым списком», он также гарантирует, что ваши документы совместимы со стандартами, что только достижимо с полным знанием спецификаций W3C. Устали от использования BBCode из-за нынешнего ландшафта дефицитных или небезопасных HTML-фильтров? У вас есть редактор WYSIWYG, но он никогда не смог его использовать? Ищете высококачественные, совместимые со стандартами компоненты с открытым исходным кодом для того приложения, которое вы создаете? Очиститель HTML для вас!
Если вы не можете использовать Tidy (иногда хостинг-сервис не активирует этот php-модуль), вы можете использовать этот класс PHP: http://www.barattalo.it/html-fixer/