Freitag, 16. November 2012

BBCodes

wusstet ihr das man mit BBCode's auch ähnliches wie HTML posten kann wenns eigentlich nicht zu gelassen ist auf einer seite ?

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 JAVA SCRIPT  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.


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

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 Programmierersprachen geschrieben sein; verbreitet sind zum Beispiel PHP und Perl.

Link
http://de.wikipedia.org

Keine Kommentare:

Kommentar veröffentlichen

Danke für deine Nachricht -Thank you for your message