Hallo Valle,
ja, ich nutzte reguläre Ausdrücke. Das Parsen selbst ist auch nicht das Problem. Ich zeige dir mal ein Beispiel, was die verlinkte Klasse kann:
Code:
$bcode->addCode('new_tag', 'usecontent?', 'do_bbcode_tag', array(), 'inline', array('listitem', 'block', 'inline'), array ());
Ganz grob, was man da einstellen kann:
Den
BBCode-Tag, wie geparst werden soll (eingeschlossene BBCodes parsern), wie der
BBCode aufgebaut ist ([tag][/tag] und/oder [tag=...][/tag]), eine Callback-Funktion fürs Ersetzen. Der Typ muss angegeben werden (block, inline, ...) und dann kann festgelegt werden, welcher Code in welchem enthalten sein darf (block in inline, ...).
Das gefällt mir wirklich gut. Nur das alles umzusetzen ist schon aufwändiger.
Ich Cache alles. Meine Website funktioniert daher selbst ohne Verbindung zur Datenbank halbwegs. *g* Dennoch sollten BBCodes leicht zu verwalten sein.
Grüße, Matze