Avatar billede yocal Nybegynder
13. marts 2007 - 15:44 Der er 4 kommentarer

Hjælp til en BBCode parser

Hejsa,

Jeg har skrevet et forum som jeg gerne vil give brugerne mulighed for at bruge BB-code i. Uanset hvor meget jeg prøver, så forstår jeg altså hat af RegEx som nok må være nøglen til det her problem.

Ting som [b], [/i] og hvad har vi er simple nok - men kommer vi ud i ting som Fed søgemaskine så må jeg nok indrømme at jeg står lidt af hvis jeg skal lave det med RegEx.

Er der nogen her der kan give en hånd eller et hint?

Der må næsten være nogle færdige bbcode parsere derude i ASP, men synes bare ikek rigtig jeg kan finde noget brugbart.

// Yoc.
15. marts 2007 - 14:53 #1
function replaceBBcode(txt)
    temp = txt
   
    Set regEx = New RegExp
    regEx.IgnoreCase = False
    regEx.Global = true
        regEx.Pattern = "\[img\](.*?)\[/img\]"
    temp = regEx.replace(temp,"<img src='$1'/>")
   
    regEx.Pattern = "\[/url=(.*?)\](.*?)\[/url\]"
    temp = regEx.replace(temp,"<a href ='$1'>$2</a>")

    regEx.Pattern = "\[/url\](.*?)\[/url\]"
    temp = regEx.replace(temp,"<a href ='$1'>$1</a>")

    regEx.Pattern = "\[email\](.*?)\[/email\]"
    temp = regEx.replace(temp,"<a href='mailto:$1'>$1</a>")
   
    temp = replace(temp,VbCrLf,"<br />")

    regEx.Pattern = "\[\/*(b|i|u)\]"
    temp = regEx.replace(temp,"<$1>")


    Set regEx = Nothing

    replaceBBcode = temp
end function
Avatar billede Slettet bruger
20. maj 2008 - 23:26 #2
Hvis man skriver dette i en include-fil.

kan man så godt bare include den i toppen af *.asp dokumentet og så ordner den selv resten?

Og hvad betyder $1 og $2 helt præcis i denne sammenhæng?
Avatar billede w13 Novice
21. maj 2008 - 08:07 #3
$1 og $2 er bare en del af reg.exp.-funktionerne, som får dem til at få den ønskede virkning.

Du skal includere dem i toppen af dokumentet ja, men så skal du jo også fortælle den, når den skal udføre erstatningen af [b] og [img] og alle de andre.

Det gør du med f.eks.:

streng = "[b]Hej[b]"

streng = replaceBBcode(streng)
Avatar billede w13 Novice
07. august 2008 - 10:21 #4
Du bør nok lukke her.
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