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입니다.
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;