Avatar billede skywalkerdk Nybegynder
17. november 2003 - 18:18 Der er 3 kommentarer

Regular Expression, fed og links

Jeg skal bruge en regular expression der kan erstatte:
[f]TEST[/f] med <span class="bold">TEST</span>
og:
[l]TEST[/l] med <a href="http://TEST" target="_blank">TEST</a>

og tilbage igen, altså fra <span> og <a> til [f] og [l] tags igen.

Jeg har noget kode nu, men det fungerer ikke 100% efter hensigten, der er bl.a. fejl i det hvis man skriver flere tags efter hinanden.

~Thomas

-----------------------------

Function FnRepIns(content)
        Set regEx = New RegExp
        regEx.Global = true
        regEx.IgnoreCase = True

        regEx.Pattern = "(\[l\])(.*)(\[/l\])"
        content = regEx.Replace (content, "<a href=""http://$2"" target=""_blank"">$2</a>")
        regEx.Pattern = "(\[L\])(.*)(\[/L\])"
        content = regEx.Replace (content, "<a href=""http://$2"" target=""_blank"">$2</a>")
        regEx.Pattern = "\[f\](.*)\[/f\]"
        content = regEx.Replace (content, "<span class=""bold"">$1</span>")
        regEx.Pattern = "\[F\](.*)\[/F\]"
        content = regEx.Replace (content, "<span class=""bold"">$1</span>")
        Set regEx = Nothing
    FnRepIns = content
End Function

Function FnRepOut(content)
        Set regEx = New RegExp
        regEx.Global = true
        regEx.IgnoreCase = True

        regEx.Pattern = "(<a href=""http://)(.*)("" target=""_blank"">)(.*)(</a>)"
        content = regEx.Replace (content, "[l]$2[/l]")
        regEx.Pattern = "(<span class=""bold"">)(.*)(</span>)"
        content = regEx.Replace (content, "[f]$2[/f]")
        Set regEx = Nothing
    FnRepOut = content
End Function
Avatar billede erikjacobsen Ekspert
17. november 2003 - 18:44 #1
Prøv
    regEx.Pattern = "(\[l\])([^[]*)(\[/l\])"
Avatar billede skywalkerdk Nybegynder
18. november 2003 - 15:29 #2
Hvad med tilbage igen? altså fra <a href="test" target="_blank">test</a> til [l]test[/l]
Avatar billede erikjacobsen Ekspert
18. november 2003 - 15:31 #3
Hvis det første forslag virker er det lidt i samme stil:

  regEx.Pattern = "(<a href=""http://)([^""]*)(" target=""_blank"">)([^<]*)(</a>)"
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester