Filter
Sumario
- 1 Filter
- 1.1 Que es un Filtro?
- 1.2 Utilización Básica
- 1.3 Métodos de la clase Filter
- 1.3.1 Add_filter($filter)
- 1.3.2 Apply($var, [filters]) y apply_filter($var, [filters])
- 1.3.3 Get_instance()
- 1.3.4 Filtros Disponibles
- 1.3.5 Addslashes
- 1.3.6 Alnun
- 1.3.7 Alpha
- 1.3.8 Date
- 1.3.9 Digit
- 1.3.10 Htmlentities
- 1.3.11 htmlspecialchars
- 1.3.12 Upper
- 1.3.13 Trim
- 1.3.14 Striptags
- 1.3.15 Stripspace
- 1.3.16 Stripslaches
- 1.3.17 Numeric
- 1.3.18 Nl2br
- 1.3.19 Md5
- 1.3.20 Lower
- 1.3.21 Ipv4
- 1.3.22 Int
Filter
Para la Versión 0.5 se incorpora el componente Filter el cual proporciona un conjunto de filtros que serán aplicados a datos que lo requieran.
Que es un Filtro?
Un filtro es utilizado habitualmente para eliminar porciones no deseadas de una entrada de datos, y la porción deseada de la entrada pasa a través de la producción como filtro (por ejemplo, café). En estos escenarios, un filtro es un operador que produce un subconjunto de la entrada.
Este tipo de filtro es útil para aplicaciones web - la supresión de entrada ilegal, innecesario el recorte de los espacios en blanco, etc.
Esta definición básica de un filtro puede ser ampliado para incluir a las transformaciones generalizadas de entrada. Una transformación que se debe aplicar a las aplicaciones web es el escapar de las entidades HTML.
Por ejemplo, si un campo de formulario es automáticamente poco fiable de entrada, este valor debe ser libre de las entidades HTML, a fin de evitar las vulnerabilidades de seguridad. Para cumplir con este requisito, las entidades HTML que aparecen en la entrada debe ser eliminado o que se hayan escapado.
Por supuesto, el enfoque que es más apropiado depende de la situación. Un filtro que elimina las entidades HTML opera dentro del ámbito de aplicación de la primera definición de filtro - un operador que produce un subconjunto de la entrada.
Utilización Básica
En este ejemplo se le pasa por el constructor de class Filter dos(upper, htmlspecialchars) filtros que serán aplicados a la cadena.
$filter = new Filter('upper', 'htmlspecialchars');
$var = '<b>Hola</b>';
print_r($filter->apply($var)); //<B>HOLA</B>
A continuación se aplica el filtro de manera dinámica.
$filter = new Filter();
$var = '<b>Hola</b>';
print_r( $filter->apply_filter($var, 'upper', 'htmlspecialchars')) //<B>HOLA</B>
Otra forma de aplicar filtros
$var = '<b>Hola</b>';
$filter = new Filter('upper', 'htmlspecialchars');
print_r ($filter->filter_value($var));
Adicionalmente los filtros soportan como parámetros a filtrar array
$var = array('<b>Hola</b>');
$filter = new Filter('upper', 'htmlspecialchars');
print_r( $filter->apply($var));//<B>HOLA</B>
Métodos de la clase Filter
A continuación se listan los métodos disponibles en la clase filter, el constructor de la clase filter puede recibir los filtros a ser aplicados.
Add_filter($filter)
Agregar un filtro a la cola de filtros.
Apply($var, [filters]) y apply_filter($var, [filters])
Aplica un filtros o un grupo de filtros a la variable $var.
Get_instance()
Obtiene una instancia singlenton.
Filtros Disponibles
Actualmente se cuenta con una serie de filtros que pueden utilizados.
Addslashes
Filtra una cadena haciendo addslashes
Alnun
Filtra una cadena para que contenga solo alpha-numeic.
Alpha
Filtra una cadena para que contenga solo alfabético
Date
Filtra una cadena para que contenga el formato fecha, debe cumplir con un patrón.
Digit
Filtra una cadena para que contenga solo Dígitos, sigue siendo un string lo que retorna el método.
Htmlentities
Filtra una cadena y hace que todos los caracteres que tengan una entidad equivalente en HTML serán cambiados a esas entidades.
htmlspecialchars
Filtra una cadena htmlspacialchars.
Upper
Filtra una cadena para que contenga solo Mayusculas
Trim
Filtra una cadena haciendo trim
Striptags
Filtra una cadena para eliminar etiquetas
Stripspace
Filtra una cadena para eliminar espacios
Stripslaches
Filtra una cadena haciendo stripslashes
Numeric
Filtra una cadena para que contenga solo numerico.
Nl2br
Filtra una cadena convirtiendo caracteres de nueva linea en
Md5
Filtra una cadena encriptando a md5.
Lower
Filtra una cadena para que contenga solo minuscula.
Ipv4
Filtra una cadena para que sea de tipo ipv4, debe cumplir con el patrón.
Int
Filtra una cadena para que sea de tipo entero, retorna un integer método.