|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 24 ![]() |
bonsoir,
je cherche à séparer un champ MYSQL contenant Nom et prénom. J'ai donc le script suivant, mais je ne parviens pas à récupérer le Prénom avec des accentuations. [:lower:] - ne me récupère que les prénoms sans accentuation [:alpha:] - erreur avec les prénoms accentués Le code ci-dessous ne fonctionne pas non plus. bloque avec les caractères accentués dans le prénom et après de nombreuses tentatives avec toutes les lettres accentués, rien ne passe. Code :
|
||
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
au lieu de : a-z0-9àáâãäåçèéêëìíîïðòóôõöùúûüýÿ
c'est \p{Xan} et faut rajouter l'option u a ton regex mais je trouve ton expression bien compliquer juste pour ca
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 24 ![]() |
bonsoir,
si ce n'est pas trop demandé, peux-tu m'indiquer ou se place le *u* pour l'instant j'ai mis \p{Xan} mais ça ne fonctionne pas. Merci. |
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
c'est une option donc après le dernier #
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#5 | ||||
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 24 ![]() |
Ceci fonctionne sans caractères accentués.
Code :
A noter que l'exemple ci-dessous trouvé sur le forum fonctionne sur mon serveur : Code :
|
||||
|
|
00
|
|
|
#6 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
je vois pas ce que tu comprends pas dans : après le dernier # ?
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#7 | ||||
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 24 ![]() |
Je viens d'essayer cette version, elle ne fonctionne pas.
Code :
Code :
|
||||
|
|
00
|
|
|
#8 | |||||||
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
Citation:
comme ca Code :
__________________
http://blog.stealth35.com/ |
|||||||
|
|
00
|
|
|
#9 | ||
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 24 ![]() |
Je suis désolé, mais votre dernier exemple ne fonctionne guère plus avec les accents. Il est fonctionnel sans les accents.
J'avais trouvé le code suivant qui fonctionne parfaitement hors la gestion des accents, qui permet de détecter le NOM en majuscules composé de plusieurs particules et également les prénoms en noms composés : Code :
|
||
|
|
00
|
|
|
#10 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
t'as quelle version de PHP ? sous quel OS ? et quelle version de pcre (PCRE_VERSION)
chez moi ca marche sans soucis
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#11 | ||
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 24 ![]() |
Voici les éléments pour le serveur de tests :
Citation:
Citation:
|
||
|
|
00
|
|
|
#12 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
ca va être tendu, essaye en rajoutant le setlocale alors
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#13 | ||
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 24 ![]() |
En effet, ça proviendrait d'un problème de config.
j'ai le code suivant qui permet de récupérer uniquement le NOM, ça bloque toujours pour le prénom. Code :
|
||
|
|
00
|
|
|
#14 | ||
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
faut pas mettre l'option u dans ce cas la
Code :
__________________
http://blog.stealth35.com/ |
||
|
|
00
|
|
|
#15 |
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 24 ![]() |
bonjour,
cette solution ne fonctionne guère plus avec le é, le ï. je continue mes recherches et essais. Merci. |
|
|
00
|
|
|
#16 | |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
Citation:
faudrait recréer les classe en ASCII, ca devrai pas prendre trop de temps
__________________
http://blog.stealth35.com/ |
|
|
|
00
|
|
|
#17 |
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 24 ![]() |
bonjour,
est-ce que cela signifie qu'il faut réécrire l'ensemble en utilisant des éléments de type : \x80 pour interpréter le é ? Merci pour votre réponse. |
|
|
00
|
|
|
#18 | ||
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 24 ![]() |
A force de persévérance, on trouve.
La solution est donc de remplacer [:alpha:] par les codes ASCII. Il faut donc les codes code hexadécimal et pour les lettres accentuées qui posaient problème : Le code ASCII étendu ANSI Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com