Regular expression och radbrytsproblem

ASP

1 svar · 215 visningar · startad av Lukaspojken

Medlem sedan maj 20011 312 inlägg
Trådstart#1

Jag sökte på forumet men kunde inte hitta. Jag har också försökt läsa mig till detta men det har varit väldigt krångliga långa listor med villkor.

Det är så här. Jag har en text-sträng som innehåller radbryt. Det kan se ut likt nedan:

" text <citat>text
text

text</citat>"

Det jag vill är att skapa citat i denna sträng men jag får det inte att fungera riktigt. Koden är enligt nedan:

Set objRegExp = New regexp
objRegExp.Global = True
objRegExp.IgnoreCase = True
objRegExp.Pattern = "(</citat>.*?</citat>)"
msgText = objRegExp.Replace(msgText,"<table border=1><tr><td>$1</td></tr></table>")

Jag får dock text-strängar som är en enda lång rad att fungera korrekt med denna kod men direkt när det blir radbryt så vill den inte köra ersättningen. Så jag antar att jag har missat något villkor i pattern. Vilket kan det vara? Tacksam för svar...

Medlem sedan juni 20019 519 inlägg
#2
objRegExp.Pattern = "(</citat>.*?</citat> )"
msgText = objRegExp.Replace(msgText,"<table border=1><tr><td>$1</td></tr></table>")

gör så att det blir lite knas tror jag :D
här får du en "felfri"

objRegExp.Pattern = "\[citat\]((.|\n)+?)\[\/citat\]"
msgText = objRegExp.Replace(msgText,"<table border=1><tr><td>$1</td></tr></table>")
262 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)