Bonsoir,

ma regex est la suivante : $pattern = '#\A[\w\-(),. \'"]*\z#'; et ma fonction de validation est :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
function validString($string):bool
        {
            $pattern = '#\A[\w\-(),. \'"]*\z#'; // \w, C pour tous les alphanumériques et le underscore (_)
 
            $ret2 = is_int( preg_match($pattern, $string) ); /* si $string respecte $pattern, preg_match retourne un
        entier mais sinon false */
            return ($ret2 ) ;
        }
La chaîne validée est : Johannes&&.
Les 2 & à la fin font qu'elle ne respecte pas le pattern (ce n'est pas un alphanumérique). Je l'ai vérifié avec le site : https://regex101.com/. Etant donné cela, preg_match doit retourner false, donc le test is_int devrait être à false ; or il est à true. Où est le bug dans mon raisonnement, SVP ?