我不得不将用户输入的文本以HTML and CSS
格式存储在数据库中。
情况是:
RadEditor,用户将MSWord中的文本复制到此编辑器,然后我将此文本以该格式存储在数据库中。然后在检索报表中的数据或某些标签时,会出现一些标记来包装文本!!
我使用正则表达式来删除所有格式,但这是徒劳的,有时会成功,而不是一直成功。
private static Regex oClearHtmlScript = new Regex(@"<(.|\n)*?>", RegexOptions.Compiled);
public static string RemoveAllHTMLTags(string sHtml)
{
sHtml = sHtml.Replace(" ", string.Empty);
sHtml = sHtml.Replace(">", ">");
sHtml = sHtml.Replace("<", "<");
sHtml = sHtml.Replace("&", "&");
if (string.IsNullOrEmpty(sHtml))
return string.Empty;
return oClearHtmlScript.Replace(sHtml, string.Empty);
}
我问如何使用HTMLAgility或任何可靠的方式删除所有格式以确保文本是纯的?
Note:
数据库中此字段的数据类型为Lvarchar 最佳答案
这将从字符串中去掉所有html标记。
sHtml = Regex.Replace(sHtml, "<.*?>", "");