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
   194   195   196   197   198   199   200   201   202   203   204