# Datenfilterung

# Einführung

Diese Erweiterung stellt Filter zur Verfügung, mit denen Daten validiert oder bereinigt werden können. Dies ist besonders nützlich, wenn die Datenquelle unbekannte (oder fremde) Daten enthält, z. B. eine Eingabe vom Nutzer. Zum Beispiel können diese Daten aus einem HTML-Formular stammen.

Es gibt zwei Haupttypen der Filterung: Validierung und Säuberung.

Ein Validierunsfilter wird genutzt, um zu prüfen, ob die Daten gewisse Kriterien erfüllen. Diese Filter werden durch die Konstanten `FILTER_VALIDATE_*` definiert. Der Filter `FILTER_VALIDATE_EMAIL` kann beispielsweise verwendet werden, um zu prüfen, ob es sich bei den Daten um eine gültige E-Mail-Adresse handelt. Die Eingabedaten werden dabei nicht verändert.

Im Gegensatz dazu "säubert" die Bereinigung die Daten, d. h. sie kann die Eingabedaten durch Hinzufügen oder Entfernen von Zeichen verändern. Diese Filter werden durch die Konstanten `FILTER_SANITIZE_*` definiert. Zum Beispiel entfernt der Filter `FILTER_SANITIZE_EMAIL` Zeichen, die nicht in einer E-Mail-Adresse enthalten sein sollten. Die bereinigten Daten werden jedoch nicht daraufhin überprüft, ob es sich um eine gültige E-Mail-Adresse handelt.

Die meisten Filter unterstützen optionale Flags, die das Verhalten des Filters beeinflussen können. Diese Flags werden durch die Konstanten `FILTER_FLAG_*` definiert. Zum Beispiel verlangt die Kombination von `FILTER_FLAG_PATH_REQUIRED` mit dem `FILTER_VALIDATE_URL`-Filter, dass die URL einen Pfad enthält (z. B. `/foo` in `https://example.org/foo`).

- Installation/Konfiguration
  - Installation
  - Laufzeit-Konfiguration
- Vordefinierte Konstanten
- Beispiele
  - Validation
  - Sanitization
- Filter-Funktionen
  - filter_has_var — Prüft, ob eine Variable des angegebenen Typs existiert
  - filter_id — Liefert die Filter-ID zu einem Filternamen
  - filter_input — Nimmt eine Variable von Außen entgegen und filtert sie optional
  - filter_input_array — Nimmt mehrere Variablen von Außen entgegen und filtert sie optional
  - filter_list — Liefert eine Liste aller unterstützten Filter
  - filter_var — Filtert eine Variable mit einem angegebenen Filter
  - filter_var_array — Nimmt mehrere Variablen entgegen und filtert sie optional

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open