如何删除所有标签并获取纯文本?

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
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因