Gå til innhold

Hva er feil med denne koden? (preg_replace)


Anbefalte innlegg

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
Videoannonse
Annonse
Gjest Slettet+142
<?
$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

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
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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...