regular expression igen

ASP

4 svar · 217 visningar · startad av bagera

Medlem sedan jan. 2001126 inlägg
Trådstart#1
scr.Pattern = "\[burl\](.*?)\[\/burl\]"
scr = gr.Replace(scr,"<ul><li>[b]server.htmlencode($1)[/b]</ul></li>")

vill alltså göra htmlencode på texten mellan [burl] och [/burl] men hur jag än vrider å vänder på det funkar det inte, är jag på rätt spår?.

Medlem sedan sep. 2001269 inlägg
#2

Jag har absolut ingen aning men ska det inte stå "<ul><li>" & server.htmlencode($1) & "</ul></li>" istället för "<ul><li>server.htmlencode($1)</ul></li>"?

Medlem sedan jan. 2001126 inlägg
#3

jo man tycker ju det men jag har provat

<"& server.htmlencode("$1") &"

och

"& server.htmlencode($1) &"

men inget verkar funka :(

Medlem sedan dec. 19998 577 inlägg
#4

Varför inte göra encoden före ditt expression, vad jag vet så formateras inte [] om till något annat, vilket då inte borde röra till det i ditt pattern.

[R.]Tänkte fel som vanligt... ;)

Testa detta:

scr.Pattern = "\[burl\](.*?)\[\/burl\]"
scr = "<ul><li>" & server.htmlencode( gr.Replace(scr,"$1") ) & "</li></ul>"
Medlem sedan jan. 2001126 inlägg
#5

Måste göra encoden bara på det som finns mellan [burl] och [/burl] för det kan finnas html både före och efter som måste vara html.

252 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)