|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Analyste Programmeur Inscription : juin 2007 Messages : 38 ![]() |
Bonjour !
J'ai un gros problème avec un preg_match, et j'ai beau tester des solutions proposées sur divers sites, impossible de résoudre mon soucis. Je m'explique : je dois vérifier des noms/prenoms, a la française. Donc autoriser accents, ç, ', -, etc... Soucis : dès qu'y'a un accent, ca déconne. Parfois j'peux en mettre un au milieu, mais pas 2, et jamais a la fin ! Coté apostrophe n'en parlons pas : ca marche pas, et au regardement de la page, ca me remplace aujourd'hui par ajourd\ j'ai testé ca : preg_match("#^[a-zA-Z-é'èçàù^ûêëæäîïöœ-]*[a-zéèçàù^ûâêëæäîïöœ]+$#",$prenom) preg_match( '`^[a-zA-Z]+(?:[\ \-\.\'][a-zA-Z]+)*$`',$prenom) et tant d'autres : impossible de faire avancer le shmilblik Si quelqu'un peut m'aider, ce serait super
|
|
|
00
|
|
|
#2 | |||
![]() ![]() |
Bonjour,
j'ai vu ca : -> Propriétés des caractères Unicode ; -> Unicode Regular Expressions. [Edit] et je viens de trouver : Citation:
Code :
Jérôme- : PAS ok ! (-> tiret à la fin) 'Jérôme : PAS ok ! (-> apostrophe au début) Jérome62 : PAS ok ! (-> chiffres non-autorisés) Jérôme-"Gaëtan" : PAS ok ! (-> caractères non-autorisés) Jérôme-Ga<ë>tan : PAS ok ! (-> caractères non-autorisés) Jérôme- Gaëtan : PAS ok ! (-> tiret ET espace côte-à-côte) Jé : OK ! Jérôme-Gaëtan : OK ! Jérôme-Gaëtan du Château près d'Alençon : OK !
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
|||
|
|
10
|
|
|
#3 |
|
Futur Membre du Club
![]() Analyste Programmeur Inscription : juin 2007 Messages : 38 ![]() |
merci beaucoup, c'est (presque) parfait !
coté accent et caractère spéciaux c'est nickel, mais l'apostrophe déconne toujours... après le post, la chaine devient : Jérôme-Gaëtan du Château près d\'Alençon et donc ne passe pas le preg_match (et même s'il le passait parce qu'on rajouterait un \ dans le nom est c'est pas idéal )j'ai pourtant bien ajouté les "htmlspecialchars($chaine, ENT_QUOTES, 'UTF-8');" que je ne connaissais pas, et vérifié que ma page php ainsi que le tpl qui y fait appel soit en utf-8 également... |
|
|
00
|
|
|
#4 |
![]() ![]() |
Il suffit sûrement d'ajouter sur la chaine récupérée :
-> stripslashes() Supprime les antislashs d'une chaîne
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
|
|
00
|
|
|
#5 |
|
Futur Membre du Club
![]() Analyste Programmeur Inscription : juin 2007 Messages : 38 ![]() |
Ca marche impec'
Et non, le champs doit aller dans la bdd, mais il y est pas encore. C'est sur un formulaire d'inscription ^^ Sujet résolu, merci beaucoup !!! (un mystère reste entier : pourquoi un sujet si important et classique que le controle de la saisie, c'est si dur de trouver des solutions fonctionnelles? )
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com