Page 199 - Corso di PHP - Livello base
P. 199
caso in cui nel testo ci sia almeno una coincidenza con il
pattern, la funzione restituirà come risultato 1 (true), e in caso
contrario il risultato sarà 0 (false).
Per esempio, poniamo il caso di uno script che controlla se un
utente, attraverso un form, ha caricato un'immagine con
estensione corretta (il nome dell'immagine sarà stato
precedentemente memorizzato in una variabile $immagine).
if (preg_match('/^.+\.(jpeg|jpg|png|gif)$/', $immagine))
{
echo "Grazie per aver caricato l'immagine!";
}
else
{
echo "L'immagine ha un'estensione non valida";
}
I due slash inseriti dopo gli apici del primo parametro della
funzione sono i delimitatori: se non inseriti, lo script restituirà
un errore. Il meccanismo della funzione è molto semplice: il
blocco if controlla che il risultato sia true e in caso affermativo
stampa la scritta “Grazie per aver caricato l'immagine!”, mentre
in caso contrario la scritta mostrata all'utente sarà “L'immagine
ha un'estensione non valida”.
La funzione può essere usata anche, ovviamente, nel modo
inverso, al negativo, facendo precedere la funzione dal punto
esclamativo che indica negazione:
if (!preg_match('/^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9_\.\-]+\.[a-z]{2,6}$/', $indirizzoemail))
{
echo "Indirizzo email non valido";
}
else
199