我不得不将用户输入的文本以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

最佳答案

这将从字符串中去掉所有html标记。

sHtml = Regex.Replace(sHtml, "<.*?>", "");

09-07 00:30