Wie entferne ich alle Tags und bekomme den reinen Text?

asp.net html html-agility-pack informix regex

Frage

Ich musste den Benutzereingabetext in meiner Datenbank mit HTML and CSS Formaten speichern.

Der Fall ist:

RadEditor , Der Benutzer kopiert den Text von MS Word in diesen Editor, dann speichere ich diesen Text in der Datenbank mit diesem Format. Wenn dann die Daten im Bericht oder einem Etikett abgerufen werden, erscheinen einige Tags, die den Text umschließen !!

Ich benutze regulären Ausdruck, um alle Formate zu entfernen, aber vergeblich gelingt es manchmal und nicht die ganze Zeit.

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);
        }

Ich frage, wie man das ganze Format mit HTMLAgility oder irgendeiner zuverlässigen Weise entfernt, um sicherzustellen, dass der Text rein ist?

Note: Der Datentyp dieses Feldes in der Datenbank ist Lvarchar

Beliebte Antwort

HtmlAgility Pack macht die Arbeit mit HTML einfach.

HtmlDocument mainDoc = new HtmlDocument();
string htmlString = "<html><body><h1>Test</h1> more text</body></html>"
mainDoc.LoadHtml(htmlString);
string cleanText = mainDoc.DocumentNode.InnerText;



Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum