Я использовал CKEditor wysiwyg-редактор для веб-сайта, где пользователям разрешено использовать HTML-редактор для добавления комментариев. В итоге в моей базе данных появился чрезвычайно избыточный вложенный HTML-код, который замедляет просмотр/редактирование этих комментариев.
У меня есть комментарии, которые выглядят так (это очень маленький пример. У меня есть комментарии с более чем 100 вложенными тегами):
This is a
Test
Мои вопросы::
Есть ли какая-нибудь библиотека/код/программное обеспечение, которое может сделать умный (то есть формат -осведомленный )очистить -от HTML код, удаляя все избыточные теги, не влияющие на форматирование (, поскольку они переопределяются внутренними тегами )? Я пробовал многие существующие онлайн-решения (, такие как HTML Tidy). Никто из них не делает то, что я хочу.
Если нет, мне нужно написать код для разбора и очистки HTML. Я планирую использовать PHP Simple HTML DOM для обхода дерева HTML и поиска всех тегов, которые не действуют. Вы предлагаете какой-либо другой парсер HTML, который больше подходит для моей цели?
Спасибо
.
Я написал код для анализа имеющегося у меня HTML-кода. Все теги HTML, которые у меня есть, это:
со стилями для font-size
и/илиcolor
с атрибутами color
и/илиsize
для ссылок (с одним тегомhref
)
(для переноса всего комментария.)
Я могу легко написать код для преобразования 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, который будет сгенерирован?
еще раз спасибо