Échappement des caractères ordinaires dans les regex en PHP
Le modificateur X fait en sorte que l'échappement
d'un caractère ordinaire entraîne une erreur. Sans cet
opérateur, les caractères ordinaires peuvent être échappés,
ils représenteront toujours eux-mêmes
(exception : les chiffres, ils deviendront des captures).
Regardons un exemple :
<?php
preg_replace('#x\@x#X', '!', 'x@x'); // erreur, @ n'est pas un métacaractère
?>