- i (PCRE_CASELESS)
Si éste modificador es definido, las letras en el
patrón coincidirán tanto con letras
mayúsculas como minúsculas.
- m (PCRE_MULTILINE)
Por defecto, PCRE trata la cadena de asunto como si consistiera
de una "única" línea de caracteres (aun si en
realidad contiene varias). El meta-caracter de "inicio de
línea" (^) coincide sólo al principio de la
cadena, mientras que el meta-caracter de "fin de línea"
($) coincide sólo el final de la cadena, o antes un
caracter de nueva línea final (a menos que el
modificador D sea definido). Esto es igual
que en Perl.
Cuando este modificador es definido, los constructores de
"inicio de línea" y "fin de línea" coinciden
inmediatamente después o inmediatamente antes de
cualquier caracter de nueva línea, respectivamente, al
igual que al comienzo o final absoluto de la cadena. Este
comportamiento es equivalente al modificador /m del Perl. Si no
hay caracteres "\n" en la cadena de asunto, o no hay ocurrencias
de ^ o $ en un patrón, este modificador no tiene efecto
alguno.
- s (PCRE_DOTALL)
Si se define éste modificador, un meta-caracter de punto
en el patrón coincidirá con todos los caracteres,
incluyendo el de nueva línea. Sin él, los saltos
de línea son excluídos. Este modificador es
equivalente a /s en Perl. Una clase negativa como [^a] siempre
coincide con un caracter de nueva línea,
independientemente del uso de este modificador.
- x (PCRE_EXTENDED)
Si éste modificador es definido, los caracteres de datos
que representan espacios en blanco en el patrón son
completamente ignorados, excepto cuando son escapados o cuando
se encuentran al interior de una clase caracter, y los
caracteres entre un # sin escapar fuera de una clase de caracter
y el siguiente caracter de nueva línea, inclusive, son
ignorados también. Esto es equivalente al modificador /x
de Perl y hace posible incluir comentarios al interior de
patrones complicados. Note, sin embargo, que esto es sólo
aplicable a caracteres de datos. Los caracteres de espacio en
blanco nunca pueden aparecer en secuencias de caracteres
especiales en un patrón, por ejemplo al interior de la
secuencia (?(, la cual inicia un sub-patrón condicional.
- e
Si éste modificador es
usado, preg_replace() realiza las
sustituciones normales de referencias hacia atrás en la
cadena de reemplazo, evalúa ésta como
código PHP y usa el resultado para reemplazar la cadena
de búsqueda.
Sólo preg_replace() usa éste
modificador; es ignorado por otras funciones de PCRE.
Nota:
Este modificador no se encontraba disponible en PHP 3.
- A (PCRE_ANCHORED)
Si éste modificador es definido, el patrón es
obligado a ser "anclado", es decir, es limitado para que
coincida sólo al inicio de la cadena que está
siendo analizada (la "cadena de asunto"). Este efecto puede
alcanzarse también mediante las construcciones apropiadas
en el patrón mismo, la cual es la única manera de
hacerlo en Perl.
- D (PCRE_DOLLAR_ENDONLY)
Si éste modificador es definido, un meta-caracter de
signo dólar en el patrón coincide
únicamente al final de la cadena de asunto. Sin
éste modificador, un dólar coincide también
inmediatamente antes del caracter final si éste es un
salto de línea (pero no antes de cualquier otra nueva
línea). Este modificador es ignorado
si m es definido. No hay equivalente en
Perl para este modificador.
- S
Cuando un patrón va a ser usado varias veces, vale la
pena dedicar más tiempo a analizarlo para acelerar el
proceso de comparaciones. Si éste modificador es
definido, entonces se realizará este análisis
adicional. Por el momento, el estudio de un patrón es
útil sólo para patrones no-anclados que no tienen
un carácter de inicio único arreglado.
- U (PCRE_UNGREEDY)
Este modificador invierte la "ambición" de los
cuantificadores, de modo que no sean codiciosos por defecto, en
su lugar se vuelven codiciosos si son seguidos por un "?". No es
compatible con Perl. También puede definirse con un
modificador (?U) al interior del patrón.
- X (PCRE_EXTRA)
Este modificador activa funcionalidad adicional de PCRE que no
es compatible con Perl. Cualquier barra invertida en un
patrón que sea seguida por una letra que no tenga un
significado especial provocará un error, logrando en
efecto reservar éstas combinaciones para futuras
ampliaciones. Por defecto, como en Perl, una barra invertida
seguida por una letra sin un significado especial es tratada
como un literal. No hay otras características controladas
por este modificador a la fecha de hoy.
- u (PCRE_UTF8)
Este modificador activa funcionalidad adicional de PCRE que no
es compatible con Perl. Las cadenas de patrones son tratadas
como UTF-8. Este modificador se encuentra disponible a partir de
PHP 4.1.0 o versiones posteriores en Unix, y desde PHP 4.2.3 en
win32.