• Nächstes Event Feed
  • Wallstreet Diskothek Eröffnung
  • 06.08.2011 Braunschweig
Brendelsz.de » Tutorials » PHP » Bb code mit preg replace

BB-Code mit preg_replace

wurde 8074x gelesen



In diesem Tutorial erkläre ich euch wie BB-Code mit der Funktion preg_replace erstellt..

Was ist ein BB-Code?
BB-Code ist eine simple Form von HTML anstatt <a href=“http://www.brendelsz.de>brendelsz.de</a> schreibt man nur brendelsz.de.

Wo wendet man es an?
Es wird oft in Foren oder in Gästebüchern benutzt. Um User ohne html Kenntnisse es leicht zu machen.

Schritt 1:

Code:
 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
 19 
 20 
 21 
 22 

<?php  
$text 
"Hallo, mein name ist [b]brendel[/b] und meine Internetadresse lautet  [url=http://www.brendelsz.de]brendelsz.de[/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 "";  
      
?>  


$bbcode:
Ok, die Variable $bbcode sieht etwas verwirrend aus, aber sie ist es nicht, wenn man sie sich genauer ansieht. Man muss immer einen forward slash adden vor und nach dem Befehl 'replace'.
Ok nun wollen wir die Phrase aufbrechen, so dass wir unsern Text in die Mitte adden können.
Wir werden es wie folgt aufbrechen


Zitat SITE NAME

Also , wann auch immer wir es aufbrechen/auseinander nehmen, um den Teil der Phrase/Satzes in Klammern,
Zitat ( Zitat [(url]=)
[ werden.
Der nächste Part ist (.*), das lässt den Code die Textform aus unserer TextBox wissen etc.
und es wird nicht erscheinen wie wir es gezeigt haben.
Dann müssen wir unsere ']' machen, sodass vor (]) mit unserem backslash gefolgt von einem (.*), das für Userinput steht, der Seitenname.
Der letzte part ist
Zitat (">=)
.
Schritt 2:

Alles klar soweit? Ok nun müssen wir einen backslash vor die '[' adden, wegen des Charakter-typen, also wird das
Zitat [(url]=)
[ werden.
Der nächste Part ist (.*), das lässt den Code die Textform aus unserer TextBox wissen etc.
und es wird nicht erscheinen wie wir es gezeigt haben.
Dann müssen wir unsere ']' machen, sodass vor (]) mit unserem backslash gefolgt von einem (.*), das für Userinput steht, der Seitenname.
Der letzte part ist
Zitat ()
, wir brauchen einen backslash weil wir einen forward slash in unserem BB-Code benutzen wollen

Schritt 3:

${4}
${2} würde die URL sein, die der User wählt und es ist ${2} genannt, weil es der 2. Part in unserer BBCode Phrase ist, man kann ein zweites Klammerset adden wenn man will.
Ok dann lass uns eine variable aus all dem machen.

Code:
 1 
 2 
 3 

$output = preg_replace($bbcode, $html, $text);  


Wir benutzen die preg_replace Funktion und in der klammer, getrennt durch Kommas tippen wir die variable für die BBCode Phrase. Das HTML wollen wir so, dass der Users Test dann selbst $text ist.
Nun können wir die variable $output 'echoen und wir bekommen

Hoffentlich hat das euch ein wenig geholfen für alle, die immer bei all den Buchstaben verwirrt sind.

Mit freundlichen Grüßen,
Alexander Brendel
http://www.brendelsz.de
alex@brendelsz.de





geschrieben von: brendel
Bookmarks: Mr. Wrong Linkarena Technorati Yahoo yigg it social bookmarking


geschrieben am: 00.00.0000
Punkte: 0
Bewerten: Daumen hochDaumen runter


Du musst registriert und eingeloggt sein, um ein Kommentar zu schreiben