La función filter_var en PHP es una herramienta esencial para la validación y saneamiento de datos. Permite a los desarrolladores verificar si los datos cumplen con ciertos criterios, como ser una dirección de correo válida, un entero, entre otros. Este artículo proporciona una visión detallada del uso de filter_var, con ejemplos prácticos relevantes para el desarrollo web.
La función filter_var() en PHP se utiliza para validar y sanear datos de diferentes tipos. Esta función es parte del filtro de extensión de PHP, un módulo robusto para el saneamiento y la validación de datos. filter_var permite aplicar diferentes filtros y opciones, haciendo que sea una herramienta versátil y potente para procesar entradas de datos.
Uno de los usos más comunes de filter_var es la validación de direcciones de correo electrónico. El filtro FILTER_VALIDATE_EMAIL verifica si el valor dado es una dirección de correo válida.
$email = 'usuario@example.com';
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo 'El correo electrónico es válido.';
} else {
echo 'El correo electrónico no es válido.';
}
filter_var también se puede usar para validar si una cadena es un número entero mediante el filtro FILTER_VALIDATE_INT. Esto es particularmente útil para verificar entradas de datos numéricos.
$numero = '123';
if (filter_var($numero, FILTER_VALIDATE_INT)) {
echo 'El número es un entero válido.';
} else {
echo 'El número no es un entero válido.';
}
Además de la validación, filter_var puede ser utilizado para el saneamiento de cadenas. Por ejemplo, el filtro FILTER_SANITIZE_STRING eliminará etiquetas y caracteres potencialmente peligrosos de una cadena.
$cadena = '<script>alert("XSS");</script> Hola mundo!';
$cadena_saneada = filter_var($cadena, FILTER_SANITIZE_STRING);
echo $cadena_saneada;
filter_var también permite el uso de opciones y banderas adicionales para refinar el proceso de validación o saneamiento. Estas opciones pueden ser usadas para definir rangos de valores válidos, requerir un formato específico, entre otros.
$edad = '18';
$options = array(
'options' => array(
'min_range' => 18,
'max_range' => 65
)
);
if (filter_var($edad, FILTER_VALIDATE_INT, $options)) {
echo 'Edad válida.';
} else {
echo 'Edad no válida.';
}
Jorge García
Fullstack developer