Очистка HTML путем удаления лишних/избыточных тегов форматирования

Я использовал CKEditor wysiwyg-редактор для веб-сайта, где пользователям разрешено использовать HTML-редактор для добавления комментариев. В итоге в моей базе данных появился чрезвычайно избыточный вложенный HTML-код, который замедляет просмотр/редактирование этих комментариев.

У меня есть комментарии, которые выглядят так (это очень маленький пример. У меня есть комментарии с более чем 100 вложенными тегами):

This is a Test

Мои вопросы::

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

  • Если нет, мне нужно написать код для разбора и очистки HTML. Я планирую использовать PHP Simple HTML DOM для обхода дерева HTML и поиска всех тегов, которые не действуют. Вы предлагаете какой-либо другой парсер HTML, который больше подходит для моей цели?

Спасибо

.

Обновление:

Я написал код для анализа имеющегося у меня HTML-кода. Все теги HTML, которые у меня есть, это:

Я могу легко написать код для преобразования HTML-кода в bbcode (, например [b], [color=blue], [size=3]и т. д. ).Таким образом, я выше HTML станет чем-то вроде:

[b][size=14][color=#006400][size=14][size=16][color=#006400]
[size=14][size=16][color=#006400]This is a [/color][/size]
[/size][/color][/size][/size][color=#006400][size=16]
[color=#b22222]Test[/color][/size][/color][/color][/size][/b]

Вопрос теперь :Есть ли простой способ (алгоритм/библиотека/и т. д. )очистить -грязное (как грязное как этот оригинальный HTML )bbcode, который будет сгенерирован?

еще раз спасибо

33
задан Ozzy 29 August 2013 в 10:26
поделиться