La séquence (?#
marque le début d'un commentaire, qui se termine à la prochaine parenthèse fermante. Les parenthèses imbriquées ne sont pas autorisées. Les caractères entre ces délimiteurs ne jouent alors aucun rôle dans le masque.
Si l'option PCRE_EXTENDED est activée, les caractères dièses #
non protégés en dehors d'une classe de caractères introduisent un commentaire qui continuera jusqu'à la prochaine ligne dans le masque.
Exemple #1 Usage de commentaire dans un masque PCRE
<?php
$subject = 'test';
$match = preg_match('/te(?# this is a comment)st/', $subject);
var_dump($match);
$match = preg_match('/te #~~~~
st/', $subject);
var_dump($match);
$match = preg_match('/te #~~~~
st/x', $subject);
var_dump($match);
L'exemple ci-dessus va afficher :
int(1) int(0) int(1)