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'));
- Weiter: 6. Flags zum Steuern des Verhaltens der Klasse
- Zur�ck: 4. Callback-Funktionen