Dokumentation der StringParser_BBCode-Klasse

5. Filter

5.1 Filterarten

Die Klasse bietet zus�tzlich zu den Parserfunktionen auch sogenannte Filter. Filter sind Funktionen, die genauso aufgebaut sein m�ssen, wie Parserfunktionen. Sie m�ssen also einen Text als einzigen Parameter akzeptieren und diesen Text dann wieder zur�ckgeben. Die Klasse kennt zwei Arten von Filtern:

Prefilter
Darunter verstehen sich Filter, die vor dem Parsen angewendet werden. Der komplette �bergebene Text wird vor dem Parsen hintereinander durch alle Filter geschickt und wird dann erst geparst.
Postfilter
Darunter verstehen sich Filter, die nach dem Zur�ckf�hren des Baums in einen Text angewendet werden. Diese werden unmittelbar bevor der Text von der parse-Funktion zur�ckgegeben wird, angewendet.

5.2 Filter definieren

Filter definiert man �hnlich wie Parserfunktionen:

$bbcode->addFilter (STRINGPARSER_FILTER_PRE, 'meine_filter_funktion');
$bbcode->addFilter (STRINGPARSER_FILTER_POST, 'meine_zweite_filter_funktion');

Wichtig sind hierbei die Konstanten STRINGPARSER_FILTER_PRE und STRINGPARSER_FILTER_POST. STRINGPARSER_FILTER_PRE sagt der addFilter-Methode, dass es sich um einen Prefilter handelt, STRINGPARSER_FILTER_POST, dass es sich um einen Postfilter handelt.

Genauso wie bei den Parserfunktionen k�nnen auch Methoden von Klassen als Filter definiert werden:

$bbcode->addFilter (STRINGPARSER_FILTER_PRE, array (&mein_object, 'meine_methode'));