Problème regex non valide
Bonjour,
Pour valider une entrée, j'ai instruction suivante :
Code:
if (preg_match('/^[a-zA-Z0-9 ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ().,:\'-]{4,100}$/u',stripslashes($_POST['nomfr']))) {
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.
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
Merçi gene69 pour la réponse
J'ai utilisé un regex negatif, et celà fonctionne très bien. Merçi.