Der Begriff BB-Code ist vielleicht nicht jedem bekannt, dennoch wird dieser aber täglich in Foren verwendet. BB-Code (Abkürzung für Bulletin Board Code) ist eine HTML ähnliche Sprache, welche Textformatierungen und verschiedenste Integrationen in Forenbeiträgen erlaubt. BBCode ist im Gegensatz zu HTML nicht reglementiert. Dennoch hat sich ein Quasi-Standard durchgesetzt, da alle Foren dieselben BB-Codes als Basis verwenden. Darüber hinaus kann es dann schon je nach Software unterschiedliche BB-Codes geben.
Der Vorteil einer eigenen Auszeichnungssprache liegt darin, daß man diese separat verwalten und somit Teile freigeben oder auch sperren kann. Ohne BB-Code müsste man entweder nur Text erlauben, was das ganze natürlich langweilig und eintönig machen würde (keine Bilder, keine Formatierungen wie Fett, zentiert usw.) oder man müsste HTML gestatten.
Da die Webseite im Browser als HTML aufgebaut angezeigt wird, ist es nicht sinnvoll HTML als Eingabesprache den Usern zu gestatten. Wenn man HTML generell erlauben würde ist es aus mehreren Gründen gefährlich:
Natürlich könnte man über die Software auch hergehen und gefährliche HTML Codes herausfiltern und ungefährlichen Code durchlassen. Aber die Gefahr, dass man was übersieht bleibt immer akut. Und wenn man nun ohnehin schon extra filtern muss ist es nur ein kleiner und eigentlich logischer Schritt zu einem eigenen Parser, welcher BB-Code interpretiert und somit sicherer ist. Ein weiterer Grund, warum sich schlußendlich BBCode durchgesetzt hat ist der Vorteil, daß man die in HTML für Normaluser eher schwierigere Syntax sehr vereinfachen kann.
Ein Beispiel für die Einfachheit von BB-Codes wäre der Tag URL.
Einen anklickbaren Link erstellen in BB-Code:
Dasselbe in HTML:
Die bekanntesten und einfachsten BB-Codes ähneln HTML sehr, hier werden nur statt < und >, [ und ] verwendet.
Weitere überall bekannte BB-Codes sind URL (Link anklickbar machen), IMG (Bild einbinden), QUOTE (Zitate) oder auch LIST (Liste erzeugen)
Da BB-Code wie am Beginn bereits erwähnt wurde nicht reglementiert ist, können sich weitere Codes durchaus von Forum zu Forum unterscheiden. Hier eine Liste, welche BB-Codes das vBulletin zur Verfügung stellt.
Damit BB-Code nicht von Hand eingegeben werden muss haben die allermeisten Foren eine Menüleiste über dem Editor, wo Buttons den ensprechenden BB-Code einfügen. So wird es komfortabel damit zu schreiben. Einfach ein Wort markieren und oben auf B (für BOLD = fett) klicken und schon fügt sich der BB-Code selbst korrekt ein. Bei manchen BB-Codes kommt ein Dialogfenster wo die benötigten Daten abgefragt werden.
Noch komfortabler sind sogenannte WYSIWYG Editoren. Diese stellen den Text nach BB-Code Anwendung gleich korrekt in der End-Formatierung dar.
Diese Funktionalität bieten bislang noch nicht alle Forenanbieter an.
Der Screenshot rechts wurde einem Woltlab Burning Board 3 entnommen, diese Software bietet dies als Standard an.
Manche Forensoftware gestattet es dem Administrator auch, BB-Codes zu verändern oder neue BBCodes anzulegen. Im Prinzip ist dies auch nicht schwierig, wenn man weiß wie der Parser arbeitet. Für alle die es etwas näher wissen wollen noch ein Mini-Ausflug:
Der BB-Code wird wie eingegeben in der Datenbank des Forums gespeichert. Wenn der Beitrag aber angezeigt werden soll, muss der BB-Code in HTML übersetzt werden, damit der gewünschte Effekt (beispielsweise eine Formatierung wie Fettdruck oder ein Bild anzeigen) im Browser auch angezeigt wird. Diese Aufgabe übernimmt der sogenannte Parser, welcher serverseitig vor einer Seitenauslieferung läuft. Der Parser durchsucht also den Text nach den BB-Codes und ersetzt diese durch HTML Codes. Syntaxfehler werden ausgeschlossen, da ein guter Parser nur korrekt geöffnete und geschlossene BB-Code Tags umsetzt. Sonst bleibt der Text halt einfach stehen und nichts weiter passiert.
Es gibt grob gesagt 3 Dinge die ein Parser „wissen“ muss um arbeiten zu können:
Dann geht der Parser den Text (1) durch, sucht die BB-Code-Tags (2) und ersetzt diese durch die entsprechenden HTML-Tags (3). Möchte man nun einen eigenen BB-Code anlegen, dann legt man neue BB-Code-Tags (2) fest und beschreibt für den Parser das HTML-Gerüst (3) dazu. Thats all
Ich möchte bei diesem Beitrag nicht zu tief in die Programmierung reingehen, sollte es aber euch näher interessieren kann ich darüber noch einen eigenen ausführlichen Beitrag verfassen.
Einfache Parser gibts auch online z.B. http://www.bbcode-to-html.com. Da könnt ihr selbst BB-Code Beispiele eingeben, auf den Convert Button klicken und dann seht ihr den umgewandelten HTML Code.