[asp]Ubb probleem

Pagina: 1
Acties:

  • CrashOne
  • Registratie: Juli 2000
  • Niet online

CrashOne

oOoOoOoOoOoOoOoOoOo

Topicstarter
Ik heb de volgende functie:

ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
function checkUbb(toCheck)

    if VarType(toCheck) = vbNull Then Exit function
    if toCheck = "" Then Exit function

    Dim expr,a(2),i

    Set expr = New RegExp

    expr.Global = True
    expr.IgnoreCase = True

    a(0) = "b"
    a(1) = "i"
    a(2) = "u"

    i = 0
    do while i < 3
        expr.Pattern =  "\\["+a(i)+"\]"+"(.*)\\[/"+a(i)+"\]"
        toCheck = expr.Replace(toCheck,"<"+a(i)+">$1</"+a(i)+">")
        i = i +1
    loop

    Set expr = Nothing

    checkUbb = toCheck

End function


Werkt allemaal zolang er maar een keer een van de zelfde tags gebruikt wordt, komt deze vaker in een zin voor dan is de hele zin altijd helemaal in het formaat van de eerste tag.

[ b]bold[/ b] [ u]underlined[/ u] [ i]italic[/ i] normaal geeft dus:
bold underlined italic normaal

maar [ b]bold[/ b] [ u]underlined[/ u] [ i]italic[/ i] normaal [ b]bold[/ b] geeft dus:
bold underlined italic normaal bold en moet dus:

bold underlined italic normaal bold zijn.

Heb gezocht, maar kan nergens het antwoord vinden.

[ Voor 8% gewijzigd door CrashOne op 07-05-2003 23:42 ]

Huur mij in als freelance SEO consultant!


Verwijderd

Dit heeft te maken met greediness. Greedy (hebberig) wil zeggen dat het pattern probeert zo veel mogelijk te matchen, non-greedy geeft aan dat het zo'n klein mogelijk deel wil matchen. Hier wil je non-greedy habben, maar heb je greedy.

Ik weet zo snel even niet hoe je dat oplost, maar met een beetje zoeken vind je het vast well.

/me is crap met RegExps, maar dit weet hij nog net wel ;)

[ Voor 10% gewijzigd door Verwijderd op 07-05-2003 23:58 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 14:23

crisp

Devver

Pixelated

(.*) = greedy
(.*?) = ungreedy

(als je geen pattern-modifiers hebt)

:)

[ Voor 36% gewijzigd door crisp op 07-05-2003 23:50 ]

Intentionally left blank


  • CrashOne
  • Registratie: Juli 2000
  • Niet online

CrashOne

oOoOoOoOoOoOoOoOoOo

Topicstarter
MrX, je bent geweldig! Wist even niet waar ik op moest zoeken, had al de hele avond van alles zitten lezen, maar dit kwam er nergen in voor. Bedankt!

Crisp natuurlijk ook!

[ Voor 11% gewijzigd door CrashOne op 07-05-2003 23:53 ]

Huur mij in als freelance SEO consultant!