Bonjour,
Pour valider une entrée, j'ai instruction suivante :
Cela fonctionne très bien, accepte les accents. Mais j'ai noté une erreur. Lorsque l'on utilise le correcteur d'orthographe du navigateur (firefox ou chrome), mon regex me renvoi une erreur, et l'entrée n'est plus validée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part if (preg_match('/^[a-zA-Z0-9 ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ().,:\'-]{4,100}$/u',stripslashes($_POST['nomfr']))) {
Sur les conseils de s.n.a.f.u., j'ai essayé de trouver le problème. Je me suis aperçu que le problème se produisait si il y avait une apostrophe dans
le texte à vérifier.
Par exemple : si on tape hopital, et on utilise le vérificateur d'orthographe du navigateur pour le changer en hôpital, l'entrée est validée. Si on tape l'hopital et on le corrige en l'hôpital, l'entré est invalidée.
Après de nombreuses recheches, je me suis aperçu que l'apostrophe était changé par le vérificateur orthographique de ' en ´. Mais si je met le ´ dans mon regex, celà ne fonctionne pas. D'ailleurs en faisant str_split sur mon entrée, il décompose le caractères en 3, et ne montre pas de ´.
Comment faire, pour que mon regex reconnaisse ce caractère?
Merçi d'avance
Partager