# Dokumentation der `StringParser_BBCode`-Klasse

- Projektseite
- Dokumentation
- PHPDOC-Dokumentation
- Download
- This page in english

## 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