# Introduction

Cette extension fournit des filtres permettant de valider ou de purifier des données. Cela est particulièrement utile lorsque la source des données contient des informations inconnues (ou étrangères), comme les entrées fournies par les utilisateurs. Par exemple, ces données peuvent provenir d’un formulaire HTML.

Il y a deux manières de filtrer : la validation et la purification.

Un filtre de validation est utilisé pour vérifier si les données répondent à certains critères. Ces filtres sont identifiés par les constantes `FILTER_VALIDATE_*`. Par exemple, le filtre `FILTER_VALIDATE_EMAIL` peut être utilisé pour déterminer si les données sont une adresse email valide. Cependant, il n'altérera jamais les données d'entrée.

La purification, en revanche, va "nettoyer" les données, ce qui peut entraîner une modification des données d'entrée en ajoutant ou supprimant des caractères. Ces filtres sont identifiés par les constantes `FILTER_SANITIZE_*`. Par exemple, le filtre `FILTER_SANITIZE_EMAIL` supprimera les caractères qui ne sont pas appropriés pour une adresse email. Cependant, les données purifiées ne sont pas validées pour vérifier si elles constituent une adresse email valide.

La plupart des filtres prennent en charge des options sous forme de drapeaux permettant d’ajuster leur comportement. Ces drapeaux sont identifiés par les constantes `FILTER_FLAG_*`. Par exemple, utiliser le drapeau `FILTER_FLAG_PATH_REQUIRED` avec le filtre de validation `FILTER_VALIDATE_URL` exige que l'URL comporte un chemin (par exemple, `/foo` dans `https://example.org/foo`).