Ответ 1
public static string StripHTML(string htmlString)
{
string pattern = @"<(.|\n)*?>";
return Regex.Replace(htmlString, pattern, string.Empty);
}
Возможный дубликат:
Как очистить теги HTML с помощью С#
Каков наилучший способ скрыть теги HTML на С#?
public static string StripHTML(string htmlString)
{
string pattern = @"<(.|\n)*?>";
return Regex.Replace(htmlString, pattern, string.Empty);
}
Возьмите строку или документ HTML и проанализируйте его с помощью HTML Agility Pack. Это даст вам объект HTMLDocument, который очень похож на XmlDocument.
Затем вы можете использовать его методы, такие как SelectNodes
, чтобы получить доступ к тем частям интересующего вас документа.
Если вы решите использовать другой подход, имейте в виду, что разбор HTML (не регулярного языка) с регулярными выражениями широко рассматривается как плохая идея.
И независимо от подхода, если вы сохраняете некоторую разметку, используйте белый список. Это означает удалить все, что явно не требуется.
Чтобы гарантировать, что HTML-теги не пройдены, используйте: HttpServerUtility.HtmlEncode(string);
.
Если вы хотите, чтобы некоторые из них прошли, вы можете использовать этот "Белый список" .
Обновление: в этом коде обнаружены некоторые уязвимости; как Разработчик из Fog Creek сообщает нам.
(Вторая ссылка включает код).