모든 태그를 제거하고 순수 텍스트를 가져 오는 방법은 무엇입니까?

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는 합법적입니까? 예, 이유를 알아보십시오.