BBCode

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

BBCode (von engl. Bulletin Board Code) ist eine an HTML angelehnte, jedoch vereinfachte Auszeichnungssprache, die bevorzugt für die Erstellung von Beiträgen in Webforen (engl. Bulletin Boards) eingesetzt wird. BBCode ist nicht offiziell reglementiert, stellt aber wegen seiner hohen Verbreitung einen Quasi-Standard sowie eine Best Current Practice dar.

BBCode wurde erstmals 1998 in der Webforensoftware Ultimate Bulletin Board (UBB) Version 3 eingeführt und wird dementsprechend manchmal auch als UBBCode bezeichnet.

Beschreibung[Bearbeiten]

Viele Textauszeichnungen funktionieren in BBCode analog zu HTML, beispielsweise [b]fett[/b], [i]kursiv[/i] und [u]unterstrichen[/u]. Zudem, sofern nicht direkt über HTML möglich, erlaubt BBCode auch komplexe Elemente, wie zum Beispiel Listen, die folgendermaßen definiert werden: [list] [*]Eintrag 1 [*]Eintrag 2 [/list].

Oftmals ist BBCode über eine einfach zu bedienende Oberfläche ober- oder unterhalb des Eingabeformulars – ähnlich gängigen Text-Editoren – verfügbar. Dies erfolgt dann in Verbindung mit JavaScript oder serverseitigen Programmiersprachen, wie zum Beispiel PHP oder Perl. Gerne gibt es dann auch Pop-ups, in denen der auszuzeichnende Text, die Listenelemente usw. eingegeben werden kann. Natürlich kann man die Elemente auch von Hand eintragen.

Durch den Einsatz von BBCode können Nutzer Texte ähnlich wie mit HTML auszeichnen, ohne dass das Eingeben von HTML erlaubt sein muss. Sicherheitsbedenkliche Elemente wie beispielsweise JavaScript oder das Layout der Webseite störende Tags können damit generell ausgeschlossen werden. Das Herausfiltern von gefährlichen HTML-Tags (bei gleichzeitigem Erlauben von ungefährlichen) kann sich nämlich leicht als fehlerträchtig oder unzureichend erweisen.

Aufbau und Umfang[Bearbeiten]

Im Gegensatz zu anderen Auszeichnungssprachen ist BBCode nicht offiziell reglementiert, unterscheidet sich also von Implementierung zu Implementierung. Der grundlegende Aufbau und Umfang ist jedoch großteils gleich und bildet einen De-facto-Standard. Größere und auf ein Thema spezialisierte Foren erweitern den Standardsatz von BBCodes oft durch einige eigene Codes.

Element Auszeichnung in BBCode Äquivalent in XHTML
Auszeichnungselement [elementname] [/elementname] <elementname> </elementname>
einfache Schriftformatierung [b]fett[/b]
[i]kursiv[/i]
[u]unterstrichen[/u]
[s]durchgestrichen[/s]
[center]zentriert[/center]
<b>fett</b>
<i>kursiv</i>
<u>unterstrichen</u>
<s>durchgestrichen</s>
<center>zentriert</center>
erweiterte Schriftformatierung [font=schriftart]text[/font]
[color=farbe]text[/color]
[size=schriftgröße]text[/size]
<font face="schriftart">text</font>
<font color="farbe">text</font>
<font size="schriftgröße">text</font>
Gliederung ... lorem ipsum
Leerzeile
dolor ...
<p>... lorem ipsum</p>
<p>dolor ...</p>
Aufzählungsliste ohne Nummerierung [list]
 [*]Punkt
 [*]Punkt
[/list]
<ul>
 <li>Punkt</li>
 <li>Punkt</li>
</ul>
Aufzählungsliste mit Nummerierung in arabischen Ziffern [list=1]
 [*]Punkt
 [*]Punkt
[/list]
<ol>
 <li>Punkt</li>
 <li>Punkt</li>
</ol>
Aufzählungsliste mit Nummerierung in (kleinen) römischen Ziffern [list=i]
 [*]Punkt
 [*]Punkt
[/list]
<ol type="i">
 <li>Punkt</li>
 <li>Punkt</li>
</ol>
Aufzählungsliste mit Nummerierung in (kleinen) Buchstaben [list=a]
 [*]Punkt
 [*]Punkt
[/list]
<ol type="a">
 <li>Punkt</li>
 <li>Punkt</li>
</ol>
Verweise [url=http://example.com]linktext[/url]
[url]http://example.com[/url]
<a href="http://example.com">linktext</a>
<a href="http://example.com">http://example.com</a>
Bilder [img]example.com/bild.jpg[/img] <img src="http://example.com/bild.jpg" alt="bild.jpg" />
Smileys :) <img src="/smileys/happy.png" alt="Smiley" />

Parsing[Bearbeiten]

BBCode als solcher wäre für einen Webbrowser einfach nur Text. Damit er nicht als solcher angezeigt wird, sondern eine besondere Formatierung bewirkt, muss er zuvor serverseitig von einem Parser-Script bearbeitet werden. Dieses durchsucht den eingegebenen Text vor dem Ausliefern an den Browser gezielt nach BBCode-Tags und ersetzt diese durch entsprechende HTML-Tags. Zum Beispiel wird das BBCode-Tag [b]text[/b] für fett zu schreibenden Text ersetzt durch das HTML-Tag <b>text</b>, nicht aber zwangsläufig ein allein stehendes [b], damit nach dem Parsing keine Syntaxfehler im Ausgabe-HTML entstehen. Für das Ersetzen werden häufig reguläre Ausdrücke verwendet. In der Regel wird immer nur „in eine Richtung“ geparst, d. h. ein Forenbeitrag wird mitsamt BBCode in die hinter dem Forum liegende Datenbank eingetragen, und jedes Mal, wenn der Beitrag über den Browser abgerufen wird, ersetzt der Parser BBCode durch HTML.

Parser-Scripts können in verschiedenen serverseitigen Programmiersprachen geschrieben sein; verbreitet sind zum Beispiel PHP und Perl.

Weblinks[Bearbeiten]