Funzioni per le espressioni regolari (POSIX estesa)
Introduzione
Il PHP, utilizzando le funzioni PCRE, supporta anche le espressioni regolari con una sintassi compatibile con Perl. Queste funzioni supportano riconoscimenti "pigliatutto", asserzioni, criteri condizionali, e diverse altre caratteristiche che non sono supportate dalla sintassi POSIX estesa.
Queste funzioni per l'espressioni regolari non sono binary-safe. Le funzioni PCRE lo sono.
In PHP, le espressioni regolari sono utilizzate per complesse manipolazioni di stringhe. Le espressioni regolari utilizzate da PHP sono di tipo POSIX esteso così come definito in POSIX 1003.2. Per una descrizione completa delle espressione regolari POSIX, vedere la pagina del » manuale di regex inclusa nella directory di regex nella distribuzione di PHP. Questa è in formato man, pertanto per poterle leggere occorre eseguire man /usr/local/src/regex/regex.7.
Requisiti
Non sono necessarie librerie esterne per utilizzare questo modulo.
Installazione
Non variare TYPE se non si sa cosa si sta facendo.
Per abilitare il supporto a regex occorre configurare il PHP con --with-regex[=TYPE]. TYPE può essere: system, apache, php. Per default si usa php.
La versione per Windows di PHP ha già compilato il supporto per questo modulo. Non occorre caricare alcun modulo addizionale per potere utilizzare queste funzioni.
Configurazione di Runtime
Questa estensione non definisce alcuna direttiva di configurazione in php.ini
Tipi di risorse
Questa estensione non definisce alcun tipo di risorsa.
Costanti predefinite
Questa estensione non definisce alcuna costante.
Esempi
Example#1 Esempi di espressione regolare
<?php
/* Restituisce vero se "abc"
viene trovata ovunque in $string. */
ereg("abc", $string);
/* Restituisce vero se "abc"
viene trovata all'inizio di $string. */
ereg("^abc", $string);
/* Restituisce vero se "abc"
viene trovata alla fine di $string. */
ereg("abc$", $string);
/* Restituisce vero se il browser
è Netscape 2, 3 oppure MSIE 3. */
eregi("(ozilla.[23]|MSIE.3)", $HTTP_USER_AGENT);
/* Posizione tre parole separate da spazio
in $regs[1], $regs[2] e $regs[3]. */
ereg("([[:alnum:]]+) ([[:alnum:]]+) ([[:alnum:]]+)", $string, $regs);
/* Posiziona il tag <br /> all'inizio di $string. */
$string = ereg_replace("^", "<br />", $string);
/* Posiziona il tag <br /> alla fine di $string. */
$string = ereg_replace("$", "<br />", $string);
/* Toglie ogni carattere di invio
da $string. */
$string = ereg_replace("\n", "", $string);
?>
Vedere anche:
Per maggiori dettagli sulle espressioni regolari compatibili con Perl vedere il capitolo sulle funzioni PCRE. La funzione fnmatch() fornisce il riconoscimento dei caratteri jolly tipici della linea di comando.
Indice dei contenuti
- ereg_replace — Sostituzioni con espressioni regolari
- ereg — Riconoscimento di espressione regolare
- eregi_replace — Sostituzioni con espressioni regolari senza distinzione tra maiuscole e minuscole
- eregi — Riconoscimento di espressioni regolari senza distinzione tra maiuscole e minuscole
- split — Suddivide una stringa in una matrice utilizzando le espressioni regolari
- spliti — Suddivide una stringa in una matrice usando le espressioni regolari senza distinguere tra maiuscole e minuscole
- sql_regcase — Genera una espressione regolare per riconoscimenti senza distinguere tra maiuscole e minuscole