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 · 285 visningar · startad av Erik Juhlin
Trådstart#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
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
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, ">")

