Les filtres en PHP

Les filtres PHP sont utilisés pour « Nettoyer » ou « assainir » et valider les données provenant des sources non sécurisées, comme les entrées des utilisateurs. Depuis PHP 5.2.0, les fonctions de filtrage sont activées par défaut. Vous pouvez les utiliser directement dans votre code sans aucune installation supplémentaire.
 
 
Pour valider les données en utilisant l’extension « filter », vous devez utiliser la fonction filter_var() de PHP. La syntaxe de base de cette fonction est comme suite :

filter_var(variable, filter, options)

Cette fonction prend trois paramètres dont les deux derniers sont optionnels. Le premier paramètre est la valeur à filtrer, le deuxième paramètre est l’ID du filtre à appliquer, et le troisième paramètre est le tableau des options liées au filtre. Regardons comment cela fonctionne.
 

Nettoyer une chaîne

L’exemple suivant va nettoyer une chaîne de caractères en supprimant toutes les balises HTML de celle-ci :

<?php
	$str = "<p>Welcome <b>to</b> WayToLearnX.com</p>";
	 
	// nettoyer la chaîne
	$newStr = filter_var($str, FILTER_SANITIZE_STRING);
	echo $newStr;
?>

La sortie :

Welcome to WayToLearnX.com

 

Validation des valeurs entiers

L’exemple suivant permettra de valider si la valeur est un entier valide ou non.

<?php
	$nbr = 20;
	 
	// Valider la valeur entière
	if(filter_var($nbr, FILTER_VALIDATE_INT)){
		echo "$nbr est un entier valide";
	} else{
		echo "$nbr n'est pas un entier valide";
	}
?>

Dans l’exemple ci-dessus, si la variable $nbr est définie à 0, le code affichera « 0 n’est pas un entier valide ». Pour résoudre ce problème, vous devez tester explicitement la valeur 0, comme suit :

<?php
	$nbr = 0;
	 
	// Valider la valeur entière
	if(filter_var($nbr, FILTER_VALIDATE_INT) === 0 || filter_var($nbr, FILTER_VALIDATE_INT)){
		echo "$nbr est un entier valide";
	} else{
		echo "$nbr n'est pas un entier valide";
	}
?>

 
 

Valider les adresses IP

L’exemple suivant permettra de valider si la valeur est une adresse IP valide ou non.

<?php
	$ip = "192.168.20.1";
	 
	// Valider l'adresse IP
	if(filter_var($ip, FILTER_VALIDATE_IP)){
		echo "L'adresse IP est valide.";
	} else {
		echo "L'adresse IP n'est pas valide.";
	}
?>

 

Nettoyer et valider les adresses e-mails

L’exemple suivant vous montrera comment nettoyer et valider une adresse e-mail.

<?php
	$email = "[email protected]";
	 
	// Supprimer tous les caractères illégaux dans l'adresse e-mail
	$email = filter_var($email, FILTER_SANITIZE_EMAIL);
	 
	// Valider l'adresse e-mail
	if(filter_var($email, FILTER_VALIDATE_EMAIL)){
		echo "L'adresse e-mail est valide.";
	} else{
		echo "L'adresse e-mail n'est pas valide.";
	}
?>

 

Nettoyer et valider les URL

L’exemple suivant vous montrera comment nettoyer et valider une url.

<?php
	$url = "http:////www.test.com";
	 
	// Supprimer tous les caractères illégaux dans l'URL
	$url = filter_var($url, FILTER_SANITIZE_URL);
	
	// Valider l'URL
	if(filter_var($url, FILTER_VALIDATE_URL)){
		echo "L'URL est valide.";
	} else{
		echo "L'URL n'est pas valide.";
	}
?>

 
 

Partagez cet article

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *