Как я могу разделить html-теги на С#

Возможный дубликат:
Как очистить теги HTML с помощью С#

Каков наилучший способ скрыть теги HTML на С#?

Ответы

Ответ 1

  public static string StripHTML(string htmlString)
  {

     string pattern = @"<(.|\n)*?>";

     return Regex.Replace(htmlString, pattern, string.Empty);
  }

Ответ 2

Возьмите строку или документ HTML и проанализируйте его с помощью HTML Agility Pack. Это даст вам объект HTMLDocument, который очень похож на XmlDocument.

Затем вы можете использовать его методы, такие как SelectNodes, чтобы получить доступ к тем частям интересующего вас документа.

Если вы решите использовать другой подход, имейте в виду, что разбор HTML (не регулярного языка) с регулярными выражениями широко рассматривается как плохая идея.

И независимо от подхода, если вы сохраняете некоторую разметку, используйте белый список. Это означает удалить все, что явно не требуется.

Ответ 3

Чтобы гарантировать, что HTML-теги не пройдены, используйте: HttpServerUtility.HtmlEncode(string);.

Если вы хотите, чтобы некоторые из них прошли, вы можете использовать этот "Белый список" .

Обновление: в этом коде обнаружены некоторые уязвимости; как Разработчик из Fog Creek сообщает нам.

(Вторая ссылка включает код).