PHP  »  Articoli  »  Programmazione Php 

PHP 5: le filter functions

di: Claudio Garau     29 Gennaio 2010

Alcune delle più interessanti novità introdotte nella versione 5 di PHP sono le cosiddette filter functions, cioè funzioni native del linguaggio che permettono di monitorare, validare e depurare i dati contenuti all'interno di variabili e argomenti.

Queste funzioni si rivelano uno strumento molto utile per il controllo di parametri di input, stringhe, array e altri costrutti e in molti casi costituiscono un'alternativa valida a complicate istruzioni basate sulle espressioni regolari.

Le filter functions al momento disponibili sono sette, tutte introdotte nella release 5 del linguaggio:

  1. filter_has_var(): controlla se esiste una variabile relativamente ad un determinato tipo di input (metodo);
  2. filter_id(): restituisce l'identificativo univoco ("ID") associato ad un determinato filtro;
  3. filter_input(): raccoglie un parametro di input proveniente per esempio da un form o da una querystring e si occupa di filtrarlo;
  4. filter_input_array(): raccoglie più parametri di input provenienti per esempio da un form o da una querystring e si occupa di filtrarli;
  5. filter_list(): restituisce un array contenente tutti i filtri supportati con relativo indice numerico;
  6. filter_var_array(): intercetta più variabili e le filtra;
  7. filter_var(): intercetta una varabile e la filtra.

In questa breve trattazione verranno descritte le caratteristiche di alcune di queste funzioni e le diverse modalità di utilizzo.

I filtri

Per svolgere il loro compito le funzioni precedentemente descritte hanno a disposizione dei filtri, questi ultimi possono essere visualizzati attraverso la funzione filter_list() che restituisce un array contenente tutti i filtri utilizzabili; a questo proposito si analizzi il seguente esempio:

<?php
print_r(filter_list());
?>

Il risultato dell'esecuzione di queste tre semplici righe di listato sarà il seguente:

Array
  (
  [0] => int
  [1] => boolean
  [2] => float
  [3] => validate_regexp
  [4] => validate_url
  [5] => validate_email
  [6] => validate_ip
  [7] => string
  [8] => stripped
  [9] => encoded
  [10] => special_chars
  [11] => unsafe_raw
  [12] => email
  [13] => url
  [14] => number_int
  [15] => number_float
  [16] => magic_quotes
  [17] => callback
  )

Da notare come la funzione filter_list() non sia in grado di restituire l'identificativo univoco dei filtri contenuti all'interno del relativo vettore, essa infatti si limita a mostrare il nome di ciascuno di essi e il numero indice (da 0 a n) che ne stabilisce la posizione all'interno dell'array.

Per ottenere l'ID di un determinato filtro, si dovrà utilizzare invece l'apposita funzione filter_id() a cui passare il nome dello stesso quale argomento, ad esempio la seguente istruzione:

<?php
echo(filter_id("special_chars"));
?>

restituirà in output l'intero "515" che è appunto il valore dell'identificativo univoco associato al filtro denominato "special_chars" che ha come numero indice "10" nel vettore dei filtri utilizzabili.

Guide PHP

Guida Yii Framework

Come creare applicazioni Web in modo semplice e veloce con il...

Guida Zend Framework

Diventate professionisti dello sviluppo Web. Zend Framework è lo...

Guida Applicazioni Facebook con PHP

Come realizzare un'applicazione per Facebook. Dalle basi della...

Altre guide

Newsletter @PHP

Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso PHP per Webmaster

11 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti