23. august 2007 - 09:47
Der er
9 kommentarer og 1 løsning
Hjælp til at fjerne HTML tags fra tekst
Jeg skal have fjernet alle HTML tags fra en tekst jeg har så brugt følgende kode, men den har problemer med specialtegn: Nogen der har noget bedre kode, eller kan tilrette min? private string clean(string Contents) { if (Contents.IndexOf("startnav") != -1) { int startnav = Contents.IndexOf("startnav"); int endnav = Contents.IndexOf("endnav"); int lengthnav = endnav - startnav; string subContents = Contents.Substring(startnav, lengthnav); Contents = Contents.Replace(subContents, ""); } Contents = Regex.Replace(Contents, "<(select|option|script|style|title)(.*?)>((.|\n)*?)</(select|option|script|style|title)>", " ", RegexOptions.IgnoreCase); Contents = Regex.Replace(Contents, "&(nbsp|quot|copy);", ""); Contents = Regex.Replace(Contents, "<([\\s\\S])+?>", " ", RegexOptions.IgnoreCase).Replace(" ", " "); Contents = Regex.Replace(Contents, "\\W", " "); return Contents; }
Annonceindlæg fra Computerworld it-jobbank
23. august 2007 - 11:01
#1
Hvilke specialtegn mener du?
23. august 2007 - 11:10
#2
eks. æ som i tekststrengen står som "æ"
23. august 2007 - 11:16
#3
Prøv at bruge Server.HtmlDecode(string) i stedet for et regex. Du skal så bare først gøre det efter du har fjerne html tags.
23. august 2007 - 11:25
#4
det hjælper ikke det stor for den fjerner "&" og ";" fra æ tag'et så der kun står "aelig" tilbage.
23. august 2007 - 11:45
#5
Okay, det fatter jeg ikke en dyt af... Hvis jeg bruger Server.HtmlDecode på en streng med "æ" i, så får jeg et "æ" tilbage. Response.Write(Server.HtmlDecode("æ"))
23. august 2007 - 11:57
#6
Jeg har lavet et hurtigt eksempel på noget der virker fint for mig (det er i vb, sorry): Public Function ConvertHtmlTextToPlainText(ByVal htmlText As String) Dim plain As String ' Fjern tags plain = Regex.Replace(htmlText, "<[^>]*>", String.Empty, RegexOptions.IgnoreCase) ' Fjern encoding ("&" --> "&" osv.) plain = Server.HtmlDecode(plain) Return plain End Function Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Response.Write(ConvertHtmlTextToPlainText("<b>æ</b>")) End Sub
23. august 2007 - 13:28
#7
Ja det er rigtg nok hvis jeg bruger din metode til at fjerne HTML tags, problemet er bare at din metode ikke fjerne alle HTML tags. Hvis du bruger min metode virker det ikke.
23. august 2007 - 13:52
#8
Hvilke tags fjerner den ikke?
23. august 2007 - 14:21
#9
f.eks: <strong></strong>
12. december 2007 - 13:11
#10
Lukker da der åbenbart ikke sker mere her
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.