Bonjour,
J'ai remarqué que quand ?: se trouvait à l'intérieur d'une parenthèse, ce n'est pas la parenthèse qui suit ?: qui est exlue du match mais tout ce qui se trouve dans la première parenthèse :
est équivallent à, avec l'emloi du passive group
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 preg_match( '#^http://localhost/(([a-z]+)/)?#', 'http://localhost/test/', $match); echo $match[2];
Je croyais que ?: ne concernait que la parenthèse devant laquelle ces signes étaient placés et non tout le contenu de la parenthèse dans laquelle ils se trouvent.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 preg_match( '#^http://localhost/(?:([a-z]+)/)?#', 'http://localhost/test/', $match); echo $match[1];
Partager