Hallo Forum,
Ich stand vor kurzem vor dem Problem, sog. "BB-Codes" parsen zu müssen. Ich habe ganz einfach mit ein paar regulären Ausdrücken angefangen:
Ersetze b[/b] durch <b>$1</b>, etc.
Komplexere Codes habe ich abgefangen, indem den e-Modifier von preg_replace verwendet habe, also PHP-Code ausgeführt habe, um die Ersetzung durchzuführen.
Doch diese "Lösung" stellte mich nicht wirklich zufrieden. Also habe ich alles über den haufen geschmissen (waren sowieso nur ein paar Zeilen Code) und habe einen kompletten Parser entwickelt, der diese BB-Codes "parsed" und ersetzt.
Features:
* keine vordefinierten BB-Codes => komplett personalisierbar
* komfortabel, sobald man das Konzept mal verstanden hat
(zumindest hoffe ich das)
* erkennt verschiedene Syntax-Typen
* achtet auf korrekte Verschachtelung
=> valides HTML, wenn der Programmierer es will
* erlaubt einfache "Regeln" zum Verschachteln
(z.B. ein Link darf nicht innerhalb eines anderen Links auftauchen)
Man könnte damit auch < und [image:, was es hier im Forum gibt nachbauen.
Wenn es jemanden interessiert, ich habe mal angefangen, das ganze zu dokumentieren:
[link:http://www.christian-seiler.de/projekte/php/bbcode/>
Download gibt es da auch, (am Ende der Seite) mein Kommentarstil innerhalb von Sourcecode ist aber nicht der tollste. Lizenz ist die Artistic License, also Open Source.
Ich würde außerdem mal gerne eure Meinung hören: Braucht die Welt wirklich so etwas? Ist das ganze zu kompliziert? Ist irgendwo eine Sicherheitslücke? Konzeptfehler? Natürlich nur, wenn ihr euch da reinarbeiten wollt...
Viele Grüße,
Christian
| http://www.selflinux.org/ |
| http://aktuell.de.selfhtml.org/tippstricks/beitrag.htm |
| sh:) fo:) ch:] rl:( br:> n4:& ie:% mo:) va:) de:] zu:) fl:( js:| ss:) ls:[ |
| http://emmanuel.dammerer.at/selfcode.html |