Aller au contenu

Probleme extraction de chiffre (php)


Blackmesa

Messages recommandés

Membre+, Grosse banane de Dolph, 33ans Posté(e)
Blackmesa Membre+ 2 712 messages
33ans‚ Grosse banane de Dolph,
Posté(e)

Bonjour,

Alors je dois extraires diverses données de la base de données et les mettre dans un fichier excel, jusque la pas de probleme.

Je dois y mettre une adresse de ce type "15-17, rue des lilas 78370 PLAISIR"

et je veux la découper pour que dans la colonne adresse il y ai "15-17, rue des lilas", le code postal "78370" et la ville "PLAISIR". J'ai trouver pour découper ma chaine mais je bloque au code postal, J'avais décider de tester la sous chaine pour voir si elle était numérique et avait 5 caractere mais la je bloque, car avec ma méthode je récupere 15-17 où il ya 5 caractere et qui comporte des nombres u_u.

Merci d'avance.

Lien à poster
Partager sur d’autres sites

Annonces
Maintenant
Membre, 43ans Posté(e)
Arkon Membre 202 messages
Baby Forumeur‚ 43ans‚
Posté(e)

Tu cherches à repérer le code postal dans ta chaine, c'est bien ça?

Si c'est le cas, tu peux faire un explode() sur ta chaine, suivi d'un foreach de chaque élément.

Ensuite, il te reste à rajouter un test pour savoir si tu as bien un entier et qu'il fait bien 5 caractères avec strlen() et is_int()

ça répond à ta question ou je suis à côté de la plaque? :yahoo:

Lien à poster
Partager sur d’autres sites

Membre, Forumeur tacheté , 36ans Posté(e)
ElNix Membre 4 891 messages
36ans‚ Forumeur tacheté ,
Posté(e)

Tu utilises quoi pour détecter les 5 chiffres ? Avec une expression régulière (REGEX) tu dois pouvoir dire qu'il te faut 5 chiffres précisément.

EDIT : à priori ça devrait même être ça que tu veux #^[0-9]{5}$# (5 caractères entre 0 et 9, mais à vérifier je ne maîtrise pas très bien ces trucs)

Lien à poster
Partager sur d’autres sites

Membre, Explorateur de Nuages, 46ans Posté(e)
Pheldwyn Membre 23 636 messages
46ans‚ Explorateur de Nuages,
Posté(e)

Peut être avec une expression régulière du genre :

(.*)([0-9]{5})([^0-9]*)

=> tous les caractères, un code postal, des caractères sans chiffres

Mais bon, si jamais ton nom de ville contient des chiffres (CEDEX NN par exemple), cela peut poser problème ...

Lien à poster
Partager sur d’autres sites

Membre+, Grosse banane de Dolph, 33ans Posté(e)
Blackmesa Membre+ 2 712 messages
33ans‚ Grosse banane de Dolph,
Posté(e)

merci pour les réponses, je n'avais pas penser a cette solution arkon mais ca pourrait être envisageable je pense. Sinon je me suis débrouiller et ai tester chaque caractere de la chaine pour savoir si c'était un chiffre, garder l'indice du premier si il yavait 5 chiffre consécutif et garder l'indice du dernier.

Puis j'ai découper avec substr grace aux indices.

(j'ai utiliser les regex oui ^^).

Lien à poster
Partager sur d’autres sites

Annonces
Maintenant

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×