filter_var

(PHP 5 >= 5.2.0)

filter_varFiltre une variable avec un filtre spécifique

Description

mixed filter_var ( mixed $variable [, int $filter = FILTER_DEFAULT [, mixed $options ]] )

Liste de paramètres

variable

Valeur à filtrer.

filter

L'ID du filtre à appliquer. La page Types de filtres du manuel liste tous les filtres disponibles.

options

Tableau associatif d'options ou des drapeaux. Si le filtre accepte les options, les drapeaux peuvent être fournis dans le champ "flags" du tableau. Pour les fonctions de rappel, le type callable devra être passé. La fonction de rappel doit accepter un seul argument ; la valeur à filtrer et retournera la valeur, une fois le filtre appliqué.

<?php
// Pour les filtres acceptant les options,
// utilisez ce format
$options = array(
	'options' => array(
		'default' => 3, // valeur à retourner si le filtre échoue
		// autres options ici...
		'min_range' => 0
	),
	'flags' => FILTER_FLAG_ALLOW_OCTAL,
);
$var = filter_var('0755', FILTER_VALIDATE_INT, $options);

// Pour les filtres qui n'acceptent que des drapeaux,
// vous pouvez les passer directement
$var = filter_var('oops', FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE);

// Pour les filtres qui n'acceptent que des drapeaux,
// vous pouvez également les passer sous forme de tableau
$var = filter_var('oops', FILTER_VALIDATE_BOOLEAN,
				  array('flags' => FILTER_NULL_ON_FAILURE));

// Fonction de rappel du filtre
function foo($value)
{
	// Format attendu: Surname, GivenNames
	if (strpos($value, ", ") === false) return false;
	list($surname, $givennames) = explode(", ", $value, 2);
	$empty = (empty($surname) || empty($givennames));
	$notstrings = (!is_string($surname) || !is_string($givennames));
	if ($empty || $notstrings) {
		return false;
	} else {
		return $value;
	}
}
$var = filter_var('Doe, Jane Sue', FILTER_CALLBACK, array('options' => 'foo'));
?>

Valeurs de retour

Retourne les données filtrées, ou FALSE si le filtre échoue.

Exemples

Exemple #1 Exemple avec filter_var()

<?php
var_dump(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL));
var_dump(filter_var('http://example.com', FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED));
?>

L'exemple ci-dessus va afficher :

string(15) "bob@example.com"
bool(false)

Voir aussi

LoadingChargement en cours