Как удалить все теги и получить чистый текст?

asp.net html html-agility-pack informix regex

Вопрос

Мне пришлось хранить текст ввода пользователя в моей базе данных с форматами HTML and CSS .

Дело в следующем:

RadEditor , пользователь скопирует текст из MSWord в этот редактор, затем я сохраню этот текст в базе данных с этим форматом. то при извлечении данных в отчете или на некоторых ярлыках появляются теги, обертывающие текст !!

Я использую регулярное выражение для удаления всех форматов, но напрасно это удается иногда и не все время.

private static Regex oClearHtmlScript = new Regex(@"<(.|\n)*?>", RegexOptions.Compiled);

        public static string RemoveAllHTMLTags(string sHtml)
        {

            sHtml = sHtml.Replace("&nbsp;", string.Empty);
            sHtml = sHtml.Replace("&gt;", ">");
            sHtml = sHtml.Replace("&lt;", "<");
            sHtml = sHtml.Replace("&amp;", "&");
            if (string.IsNullOrEmpty(sHtml))
                return string.Empty;

            return oClearHtmlScript.Replace(sHtml, string.Empty);
        }

Я спрашиваю, как удалить весь формат с помощью HTMLAgility или любой надежный способ убедиться, что текст чист?

Note: Тип данных этого поля в базе данных - Lvarchar

Популярные ответы

Пакет HtmlAgility упрощает работу с HTML.

HtmlDocument mainDoc = new HtmlDocument();
string htmlString = "<html><body><h1>Test</h1> more text</body></html>"
mainDoc.LoadHtml(htmlString);
string cleanText = mainDoc.DocumentNode.InnerText;



Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему