Исправление искаженного HTML в PHP?

Я создаю большой HTML-документ из фрагментов, предоставленных пользователями, которые имеют неприятную привычку искажаться различными способами. Браузеры достаточно надежны и снисходительны, но я хочу иметь возможность проверять и (в идеале) исправлять любой искаженный HTML, если это вообще возможно. Например:

<td><b>Title</td>

можно разумно исправить:

<td><b>Title</b></td>

Есть ли способ сделать это легко в PHP?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
6
0
2 450
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Вы можете использовать HTML Tidy, страницы руководства - здесь.

Однако с этим по-прежнему мало проблем. Раньше он удалял предполагаемые пробелы, вызывая некоторые проблемы с JS. Также он анализирует теги <script> таким образом, что IE6 иногда их не распознает - если вы все еще хотите оптимизировать свой webby для IE6.

Ondrej Slinták 04.02.2010 16:46

Не следует использовать Tidy для ненадежных входных данных: htmlpurifier.org/comparison#Tidy

TRiG 02.11.2010 18:18

Если вы не можете использовать Tidy (иногда служба хостинга не активирует этот модуль php), вы можете использовать этот класс PHP: http://www.barattalo.it/html-fixer/

Обратите внимание, что проект больше не поддерживается. Последнее его обновление было 07.06.2010. Но он прост в использовании и имеет один единственный файл по сравнению с HTML Purifier.

mrmowji 20.11.2017 03:41

Я очень рекомендую Очиститель HTML. Со своего сайта:

HTML Purifier is a standards-compliant HTML filter library written in PHP. HTML Purifier will not only remove all malicious code (better known as XSS) with a thoroughly audited, secure yet permissive whitelist, it will also make sure your documents are standards compliant, something only achievable with a comprehensive knowledge of W3C's specifications. Tired of using BBCode due to the current landscape of deficient or insecure HTML filters? Have a WYSIWYG editor but never been able to use it? Looking for high-quality, standards-compliant, open-source components for that application you're building? HTML Purifier is for you!

Другие вопросы по теме