Потратил около 30 минут или около того, чтобы найти окончательное решение этой проблемы.
Этот вопрос, похоже, задавался много раз, но ...
- В большинстве решений используются регулярные выражения.
- Во многих публикациях говорится, что регулярные выражения не следует использовать для обработки html.
- Существует множество ответов, просто дающих ссылку на HTMLAgilityPack (наCodeplex), но нет реальных примеров того, как использовать этот пакет для удовлетворения заявленных требований.
Поэтому я ищу лучшее решение, отвечающее следующим требованиям.
- Я хочу предоставить список позволенных тегов HTML.
- Все теги, отсутствующие в списке разрешенных, должны быть удалены вместе с их атрибутами и содержимым.
- Все теги вразрешенный список должен быть сохранен с атрибутами и содержимым.
- Решение должно справляться с различными локализациями - возможно, пользователи используют другие языки и наборы символов.будут использоваться не те, которые используются в английском языке.
- [Добавлено] Решение должно обрабатывать текст, такой как сообщение на форуме, в отличие от полной HTML-страницы - так что такие теги, как bui и т. д. будут разрешены, но скрипт div и т. д.не разрешено и должно быть удалено.
Я ищу решение C # и , если лучше всего использовать RegEx, тогда я рад это сделать.Если есть существующая библиотека, которая может сделать это, я также рад использовать их.Буду признателен за пример кода, где это возможно.
Я ищу определенный и испытанный метод решения этой проблемы, в отличие от широких дебатов + закрытые посты и т. Д. :):)
Спасибозаранее.