Wie kann ich HTML aus Text in .NET entfernen?

8

Ich habe eine ASP.net-Webseite mit einer TinyMCE-Box. Benutzer können Text formatieren und den HTML-Code senden, der in einer Datenbank gespeichert werden soll.

Auf dem Server möchte ich den HTML-Code aus dem Text strippen, damit ich nur den Text in einer Volltext-Spalte für die Suche speichern kann.

Es ist ein Kinderspiel, den HTML-Code auf dem Client mit der jQuery-Funktion text () zu entfernen, aber das würde ich lieber auf dem Server tun. Gibt es irgendwelche Dienstprogramme, die ich dafür verwenden kann?

BEARBEITEN

Siehe meine Antwort.

EDIT 2

alt text http://tinyurl.com/sillychimp

    
Ronnie Overby 28.08.2009, 19:56
quelle

9 Antworten

13

Ich habe das HtmlAgilityPack heruntergeladen und diese Funktion erstellt:

%Vor%     
Ronnie Overby 28.08.2009, 21:07
quelle
2

Hier ist Jeff Atwoods RefactorMe-Code-Link für seine Sanitize-HTML-Methode

    
Tristan Warner-Smith 28.08.2009 20:31
quelle
1
%Vor%

Sie müssen jedoch einen Namespace haben, auf den verwiesen wird:

%Vor%

nehmen Sie diese Logik nur für Ihre Website

    
Muhammad Hamayoon 31.01.2012 19:11
quelle
0

Wenn Sie nur Text für die Indexierung speichern, möchten Sie wahrscheinlich etwas mehr tun, als nur den HTML-Code zu entfernen, z. B. das Ignorieren von Stoppwörtern und das Entfernen von Wörtern, die kürzer sind als etwa 3 Zeichen. Ein einfacher Tag und Stripper, den ich einmal geschrieben habe, sieht jedoch so aus:

%Vor%

Es ist alt und ich bin mir sicher, dass es optimiert werden kann (vielleicht mit einem kompilierten reg-ex?). Aber es funktioniert und kann helfen ...

    
Dan Diplo 28.08.2009 20:19
quelle
0

Sie könnten:

  • Verwenden Sie anstelle von TinyMCE einen einfachen alten TEXTAREA (für Höhe / Breite / Schriftart / etc.).
  • Verwenden Sie die integrierten Konfigurationsoptionen von TinyMCE, um unerwünschtes HTML zu entfernen.
  • Verwenden Sie HtmlDecode (RegEx.Replace (mystring, "& lt; [^ & gt;] + & gt;", "")) auf dem Server.
richardtallent 28.08.2009 20:20
quelle
0

Da Sie im System möglicherweise fehlerhafte HTML-Dateien erstellt haben, kann BeautifulSoup oder eine ähnliche Anwendung verwendet werden.

Es ist in Python geschrieben; Ich bin mir nicht sicher, wie es eine Schnittstelle sein könnte - mit der .NET-Sprache IronPython?

    
Peter Mortensen 28.08.2009 21:23
quelle
0

Sie können HTQL COM verwenden und die Quelle mit einer Abfrage abfragen: & lt; Körper & gt; & amp; tx;

    
seagulf 10.05.2010 14:37
quelle
0

Sie können so etwas verwenden

%Vor%     
Nirlep 28.08.2009 20:07
quelle

Tags und Links