il s'agit de vérifier la présence dans $req_ext d'au moins un caractère
appartenant à l'ensemble [ . * _ a-z A-Z 0-9 ]
/w étant la classe (word) des caractères [a-zA-Z_0-9]
Si un caractère de $req_ext ne se trouve pas dans cet ensemble, alors
$ext prend la valeur contenue dans $req_ext sinon il prend la valeur php
Précédemment ce contrôle était effectué sur la classe de caractère \w
seule, la modification a ajouté à ce contrôle les deux caractères . et *
Le commentaire du commit ("pouvoir filtrer les fichiers d'un répertoire plus finement que par l'extension") ne me permet pas de comprendre les enjeux qui se situent derrière.
Ca remonte à l'époque où on préparait le remplacement de plugin.xml (qui n'était pas toujours vraiment du xml)
par paquet.xml, et j'avais besoin de pouvoir appliquer le validateur en boucle sur les centaines de plugins de la zone
pour tester soit l'un soit l'autre, d'où la nécessité de ne pas filtrer par la seule extension.
Vu que $ext sert dans preg_files() à construire une expression régulière "sensible", ne pourrait-on pas revenir à la forme précédente ?
Constuire une RegExp à partir d'une donnée externe pose des pbs de sécu, mais ils sont résolu par l'analyse initiale.
A partir du moment où on admet le principe de cette construction, qui est présent dans la version précédente que tu tolères,
je ne vois pas ce qui poserait un problème supplémentaire dans la suivante.