Volver a la página principal
miércoles 6 marzo 2024
5

Cómo usar la función filter_var en PHP

Introducción a filter_var en PHP

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.

¿Qué es filter_var?

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.

Validación de Correos Electrónicos

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.';
}

Validación de Números Enteros

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.';
}

Saneamiento de Cadenas

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;

Opciones y Banderas

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.';
}
Compartir:
Autor:
User photo

Jorge García

Fullstack developer