Probeus Skrevet 21. juni 2007 Del Skrevet 21. juni 2007 Hvorfor fungerer ikke denne koden som dne skal? Den skal omgjøre bb-code til normal html, men når jeg kjører dette forblir teksten den samme. <? $text = "Hey. Mitt navn er [b]2leet4uhaxx0rbbq[/b] and mitt hackerzz-crypinn er [url=http://haxx0r4lifebbq.com]h3r[/url]."; $bbcode = array( '/([url=)(.*)(])(.*)([/url])/', '/([b])(.*)([/b])/' ); $html = array( '<a href="${2}">${4}</a>', '<strong>${2}</strong>' ); $output = preg_replace($bbcode, $html, $text); echo $output; ?> Alt ser rett ut ifra min side.. På forhånd takk. Lenke til kommentar
Gjest Slettet+142 Skrevet 21. juni 2007 Del Skrevet 21. juni 2007 <? $text = "Hey. Mitt navn er [b]2leet4uhaxx0rbbq[/b] and mitt hackerzz-crypinn er [url=http://haxx0r4lifebbq.com]h3r[/url]."; $bbcode = array( '/(\[url=)(.*)(\])(.*)(\[\/url\])/', '/(\[b\])(.*)(\[\/b\])/' ); $html = array( '<a href="${2}">${4}</a>', '<strong>${2}</strong>' ); $output = preg_replace($bbcode, $html, $text); echo $output; ?> Noe slikt? Lenke til kommentar
-morten Skrevet 21. juni 2007 Del Skrevet 21. juni 2007 Lite tips.. hva skjer hvis jeg skriver dette (uten mellomrommene)? [ url=#" style="font-size: 100000px]lala[/url ] Hele grunnen til at man bruker BB-code er jo at man ikke skal kunne gjøre sånt. Du bør også slenge på et par modifiers: '/regex/iU' osv i gjør at den matcher store og små bokstaver U gjør den "ungreedy", dvs at hvis noen har postet to URL-er etter hverandre, så vil du matche begge to hver sin gang, og ikke som én lang (og helt gal) url: 1: link1... 4: link2 5: Lenke til kommentar
endrebjo Skrevet 21. juni 2007 Del Skrevet 21. juni 2007 U gjør den "ungreedy", dvs at hvis noen har postet to URL-er etter hverandre, så vil du matche begge to hver sin gang, og ikke som én lang (og helt gal) url:1: link1... 4: link2 5: 8914619[/snapback] Eventuelt unngå overdreven bruk av . (dot). F.eks bruke [^]] istedet (som betyr: hvilket som helst tegn, bare ikke ']'). Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå