- i (PCRE_CASELESS)
Effectue une recherche insensible à la casse.
- m (PCRE_MULTILINE)
Par défaut, PCRE traite la chaîne sujet comme une seule
ligne (même si cette chaîne contient des retours chariot).
Le méta-caractère "début de ligne" (^) ne sera
valable qu'une seule fois, au début de la ligne, et le
méta caractère "fin de ligne " ($) ne sera valable
qu'à la fin de la chaîne, ou avant le retour chariot
final (à moins que l'option D ne soit activée). C'est le
même fonctionnement qu'en Perl.
Lorsque cette option est activée, " début de ligne " et
" fin de ligne " correspondront alors aux caractères
suivant et précédent immédiatement un
caractère de nouvelle ligne, en plus du début
et de la fin de la chaîne. C'est le même
fonctionnement que l'option Perl /m. S'il n'y a pas de
caractère de nouvelle ligne "\n" dans la chaîne sujet,
ou s'il n'y a aucune occurrence de ^ ou $ dans le masque, cette option
ne sert à rien.
- s (PCRE_DOTALL)
Avec cette option, le méta caractère point (.)
remplace n'importe quel caractère, y compris les nouvelles
lignes. Sans cette option, le caractère point ne remplace
pas les nouvelles lignes. Cette option est équivalente
à l'option Perl /s. Une classe de caractères
négative telle que [^a] acceptera toujours les
caractères de nouvelles lignes, indépendamment
de cette option.
- x (PCRE_EXTENDED)
Avec cette option, les caractères d'espacement sont
ignorés, sauf lorsqu'ils sont échappés,
ou à l'intérieur d'une classe de caractères,
et tous les caractères entre # non échappés
et en dehors d'une classe de caractères, et le prochain
caractère de nouvelle ligne sont ignorés. C'est
l'équivalent Perl de l'option /x : elle permet l'ajout
de commentaires dans les masques compliqués. Notez bien,
cependant, que cela ne s'appliquent qu'aux caractères de
données. Les caractères d'espacement ne doivent
jamais apparaître dans les séquences spéciales
d'un masque, comme par exemple dans la séquence (?( qui
introduit une parenthèse conditionnelle.
- E
Avec cette option, preg_replace() effectue la
substitution normale des références arrières dans la
chaîne de remplacement, puis l'évalue comme un code PHP, et
utilise le résultat pour remplacer la chaîne de recherche.
Seule preg_replace() utilise cette option. Elle est
ignorée par les autres.
- A (PCRE_ANCHORED)
Avec cette option, le masque est ancré de force, c'est-à-dire que le masque doit s'appliquer entre le début
et la fin de la chaîne sujet pour être
considéré comme trouvé. Il est
possible de réaliser le même effet en
ajoutant les méta-caractères adéquats,
ce qui est la seule manière de le faire en Perl.
- E (PCRE_DOLLAR_ENDONLY)
Avec cette option, le méta-caractère $ ne sera
valable qu'à la fin de la chaîne sujet. Sans
cette option, $ est aussi valable avant une nouvelle ligne,
si cette dernière est le dernier caractère de
la chaîne. Cette option est ignorée si l'option
m est activée. Il n'y a pas
d'équivalent en Perl.
- S
Lorsqu'un masque est utilisé plusieurs fois, cela vaut
la peine de passer quelques instants de plus pour l'analyser
et optimiser le code pour accélérer les
traitements ultérieurs. Cette option force cette
analyse plus poussée. Actuellement, cette analyse
n'est utile que pour les masques non ancrés, qui
ne commencent pas par un caractère fixe.
- U (PCRE_UNGREEDY)
Cette option inverse la tendance à la gourmandise des
expressions régulières. Vous pouvez aussi inverser
cette tendance au coup par coup avec un ?. De même, si
cette option est activée, le ? rendra
gourmand une séquence. Cette option n'est pas compatible
avec Perl. Elle peut aussi être mise dans le masque avec
l'option ?U.
- X (PCRE_EXTRA)
Cette option ajoute d'autres fonctionnalités incompatible
avec le PCRE de Perl. Tous les antislash suivis d'une lettre qui
n'aurait pas de signification particulière cause une erreur,
permettant la réservation de ces combinaisons pour des ajouts
fonctionnels ultérieurs. Par défaut, comme en Perl, les
antislash suivis d'une lettre sans signification particulière
sont traités comme des valeurs littérales. Actuellement,
cette option ne déclenche pas d'autres fonctions.
- u (PCRE_UTF8)
Cette option inactive les fonctionnalités additionnelles de
PCRE qui ne sont pas compatibles avec Perl. Les chaînes sont
traitées comme des chaînes UTF-8. Cette option est disponible
en PHP 4.1.0 et plus récent.