webForumDet fria alternativet

Hämta all HTML-kod i en sträng

ASP

9 svar · 281 visningar · startad av Erik Juhlin

Medlem sedan maj 200010 687 inlägg
Frågan#1

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?

Medlem sedan dec. 20003 887 inlägg
#2

Går det inte om du grupperar hela rasket?

"(<[^>]*>)*"

Medlem sedan maj 200010 687 inlägg
#3

Nej, kör jag med rreplace("<p>kmdkdvk</p> kkdbfmk <img ...>", "(<[^>]*> )*", "") så får jag ut <p>kmdkdvkkkdbfmk <img ...> vilket är helt fel.

Medlem sedan dec. 20003 887 inlägg
#4

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

Medlem sedan maj 200010 687 inlägg
#5

Jag vill ju ha ut HTML-koden. Inte ta bort den.

Medlem sedan dec. 20003 887 inlägg
#6

Jaha... testa kör med

Replace("<p>hej</p>Blalblabl bla...<img ... hirr>", "(>[^<]*<)", ">")
Medlem sedan maj 200010 687 inlägg
#7

Funka inte alls... :(

Medlem sedan dec. 20003 887 inlägg
#8

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

Medlem sedan maj 200010 687 inlägg
#9

Får väl bli att köra med en matchcollection då...

Medlem sedan dec. 20003 887 inlägg
#10

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, ">")
1535 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
1396 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
1396 ms — ändringar (db)