如何刪除所有標籤並獲取純文本?

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合法嗎? 是的,了解原因