Går det att med ett regulärt replace-uttryck hämta ut all HTML ur en sträng?
Eller blir man tvungen att använda "<[^>]*>" och sen med en matchcollection bunta ihop det till en sträng?
Hämta all HTML-kod i en sträng
9 svar · 281 visningar · startad av Erik Juhlin
Frågan#1
Nej, kör jag med rreplace("<p>kmdkdvk</p> kkdbfmk <img ...>", "(<[^>]*> )*", "") så får jag ut <p>kmdkdvkkkdbfmk <img ...> vilket är helt fel.
Tja... när jag testar testar med
Dim objRS
Set objRS = New RegExp
objRS.Global = True
objRS.IgnoreCase = True
objRS.Pattern = "(<[^>]*>)*"
Response.Write objRS.Replace("<p>kmdkdvk</p> kkdbfmk <img ...>", "")
så fungerar det alldeles utmärkt...
Resultat: kmdkdvk kkdbfmk
Jag vill ju ha ut HTML-koden. Inte ta bort den.
Funka inte alls... :(
Udda...
red. inte alls udda förresten, jag skrev ju fel mönster :r
Dim objRS
Set objRS = New RegExp
objRS.Global = True
objRS.IgnoreCase = True
objRS.Pattern = "(>[^<]*)"
Response.Write objRS.Replace("<p>kmdkdvk</p> kkdbfmk <img ...>", ">")
Jag tycker det fungerar som det ska. Iofs faller det mönstret om strängen börjar med text :l
Får väl bli att köra med en matchcollection då...
Eller så gör du om strängen innan du kör Replace:n
Dim objRS, strSrc, strTags
Set objRS = New RegExp
strSrc = "jajaja<table border=0><tr><td>saker</td></tr></table>Annat<p>Blipp</p>"
objRS.Global = True
objRS.IgnoreCase = True
objRS.Pattern = "(>[^<]*)"
strSrc = Mid$(strSrc, InStr(strSrc, "<") - 1)
strTags = objRS.Replace(strSrc, ">")

