- i (PCRE_CASELESS)
Se si attiva questo modificatore, l'espressione regolare viene
riconosciuta senza distinguere tra le lettere maiuscole e minuscole.
- m (PCRE_MULTILINE)
Per default, PCRE tratta il testo su cui fare la ricerca come
una "singola linea" di caratteri (anche se in realtà può
contenere diversi "a capo" (newline)). Il carattere di "inizio riga"
(^) indica solamente l'inizio del testo passato. Analogamente il
carattere di "fine riga" ($) indica la fine del testo o prima
se vi sono dei caratteri di "a capo" (a meno che
non sia attivato il modificatore D).
In questo modo si comporta anche Perl.
Invece quando viene indicato questo modificatore, "inizio riga"
e "fine riga" vengono identificati in base ai caratteri di "a capo"
presenti nel testo (rispettivamente subito dopo e subito prima di
questo carattere). Questo comportamento è equivalente
al modificatore /m di Perl. Se nel testo passato non vi sono
caratteri di "a capo" o non vi sono occorrenze dei caratteri
^ o $ nell'espressione regolare, l'uso di questo modificatore
non ha effetto.
- s (PCRE_DOTALL)
Se si attiva questo modificatore, il carattere . usato
nell'espressione regolare indica tutti i possibili caratteri
compreso il carattere di "a capo" (newline). Senza questo
modificatore il carattere "a capo" viene escluso.
Questo modificare è equivalente a /s di Perl. Una espressione
regolare contenente una forma negativa, come [^a], riconosce
sempre un "a capo" a prescindere da questo modificatore.
- x (PCRE_EXTENDED)
Se si attiva questo modificatore, verranno ignorati gli spazi
presenti nell'espressione regolare, tranne quelli preceduti dal
carattere di escape (\) o posti all'interno di una classe
di caratteri. Saranno, inoltre, ignorati i caratteri posti
tra il simbolo # (se non è preceduto dall'escape, ed è posto al
di fuori di una classe di caratteri) ed il successivo carattere
di "a capo" (newline). Questo comportamento equivale al flag /x
di Perl e consente di inserire dei commenti all'interno di
espressioni regolari complesse. Gli spazi bianchi non devono
mai comparire all'interno di sequenze speciali di caratteri,
come, ad esempio, la sequenza (?( che introduce ad un criterio
condizionale.
- e
Se viene specificato questo modificatore, la funzione
preg_replace() valuta la stringa di
sostituzione come codice PHP, quindi utilizza il risultato
come testo da sostituire alle stringhe cercate.
Gli apici singoli e doppi sono preceduti dal backslash nei
riferimenti sostituiti.
Soltanto preg_replace() utilizza questo modificatore;
le altre funzioni di PCRE lo ignorano.
Nota:
Questo modificatore non è disponibile in PHP 3.
- A (PCRE_ANCHORED)
Se si specifica questo modificatore, si forza un 'ancoraggio'
del criterio di ricerca. In pratica questo viene costretto
a riconoscere il testo su cui si fa la ricerca solo dall'inizio.
Questo effetto può essere ottenuto anche con particolari
costruzioni dell'espressione regolare, che rappresentano gli
unici modi utilizzabili in Perl per ottenere il medesimo scopo.
- D (PCRE_DOLLAR_ENDONLY)
L'uso di questo modificatore forza il carattere $ dell'espressione
regolare a indicare la fine della stringa oggetto della ricerca.
Senza questo modificatore il carattere $ indica la posizione subito
prima dell'ultimo carattere se questo è un "a capo" (ma comunque
non prima di ogni altro "a capo"). Questo modificatore viene ignorato
se è attivato il modificatore m. Non vi sono
flag equivalenti in Perl.
- S
Quando una espressione regolare è destinata ad essere utilizzata
diverse volte, vale la pena dedicare del tempo ad ottimizzare
la velocità di riconoscimento. L'uso di questo modificatore permette
questa analisi. Al momento lo studio della velocità è significativo
per i criteri di ricerca "non ancorati", cioè espressioni che non
hanno un carattere di partenza fisso.
- U (PCRE_UNGREEDY)
Questo modificatore inverte la "voracità" delle occorrenze, in modo
da non essere voraci per default, ma lo tornano ad essere se
seguiti da "?". Questo flag non è compatibile con Perl.
Questo comportamento può anche essere settato dalla
sequenza (?U) settaggio dei modificatori
all'interno del criterio di ricerca
- X (PCRE_EXTRA)
Questo modificatore attiva funzionalità addizionali di PCRE
che sono incompatibili con Perl. Ogni backslash (\) posto
nell'espressione regolare che non sia seguito da una lettera
con significato speciale causa un errore, ciò per riservare
queste sequenze a future espansioni. Per default, Perl
considera il backslash (\) seguito da una lettera priva di
significato speciale come un qualsiasi testo. Al momento non
vi sono altre caratteristiche gestite tramite questo modificatore.
- u (PCRE_UTF8)
Questo modificatore attiva funzionalità di PCRE che sono
incompatibili con Perl. Le stringhe di ricerca sono considerate
come UTF-8. Questo modificatore è disponibile dalla versione
4.1.0 di PHP di Unix e dalla versione 4.2.3 sulla piattaforma win32.