 |
CXXIII. Funzioni per le espressioni regolari (POSIX estesa)Suggerimento:
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.
Avvertimento |
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.
Non sono necessarie librerie esterne per utilizzare questo modulo. Avvertimento |
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. Questa estensione non definisce
alcuna direttiva di configurazione in php.ini Questa estensione non definisce alcun tipo di risorsa. Questa estensione non definisce alcuna costante.
Esempio 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); ?>
|
|
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.
- Sommario
- 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
|  |