IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Comment découper une adresse postale en plusieurs parties


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2006
    Messages
    1 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 080
    Par défaut Comment découper une adresse postale en plusieurs parties
    Bonjour,

    J'ai une variable avec comme enregistrement une adresse postale (exemple : mairie, place de la Mairie 76160 Préaux)

    Comment je peux faire pour découper cette variable en plusieurs parties, afin d'avoir une variable $rue, $code_postale et $ville ?

    exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $adresse = 'mairie, place de la Mairie 76160 Préaux';
    >>>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $rue = 'mairie, place de la Mairie';
    $code_postale = '76160';
    $ville = 'Préaux';
    Je cherche un algo mais c'est le trou noir !

    Merci d'avance pour vos indications !

    Arnaud

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Je propose un truc comme ca, y'a des cas ou ca doit merder mais bon.
    Le plus simple ca reste quand meme de faire remplir des champs separés a l'utilisateur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
     
    $adresse = "mairie, place de la Mairie 76160 Préaux";
     
    preg_match("'(?<rue>[[:alnum:] -]*).(?<cp>[0-9]{5}).(?<ville>[[:alnum:] -]*)'" ,$adresse,$out);
    echo 'rue : ' . $out['rue'] . '<br />';
    echo 'code postal : ' . $out['cp'] . '<br />';
    echo 'ville : ' . $out['ville'] . '<br />';
     
    ?>
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éprouvé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2006
    Messages
    1 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 080
    Par défaut
    cela n'est pas idio !

    en faite les champs ne sont pas rempli par l'utilisateur, mais repris ds d'un fichier texte.

    les adresse française on tjr un code postale, donc la "rue" est se qui est avant le code postale et la ville ce qui est après le code postale.

    Ca me permettra de bien formater l'écriture des adresse pour imprimer sur des enveloppe

    merci pour ta proposition, je vais la tester.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2006
    Messages
    1 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 080
    Par défaut
    alors après quelque test :

    1. La rue n'est pas bien détecté

    2. le CP fonctionne parfaitement

    3. La ville fonctionne, mais dans le cas de ville ayant un nom composé (exemple : Le grand quevilly), la découpe s'arrête après le 1er mot.

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match("'(?<rue>[[:alnum:] -,]*).(?<cp>[0-9]{5}).(?<ville>[[:alnum:] -]*)'" ,$adresse,$out);
    j'ai jouté la virgule pour la rue.
    par contre la ville fonctionnait déjà avec des espaces.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre éprouvé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2006
    Messages
    1 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 080
    Par défaut
    cela fonctionne mieux, mais ds certaine adresse j'ai plusieurs virgules.

    Je devrai peut etre les supprimer pour un traitement plus simple ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Extraction d'une partie d'une adresse postale
    Par alain.terieur12 dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 04/12/2014, 18h14
  2. [AC-2010] Remplacer mot par son abréviation dans plusieurs champs d'une adresse postale
    Par lorenzokamalodo dans le forum Access
    Réponses: 7
    Dernier message: 05/08/2014, 10h05
  3. Réponses: 2
    Dernier message: 24/08/2005, 11h59
  4. Comment découper une chaîne de caractères en VBA
    Par TomPad dans le forum Access
    Réponses: 3
    Dernier message: 23/06/2005, 10h58
  5. Comment récupérer une adresse MAC ?
    Par psau dans le forum Développement
    Réponses: 7
    Dernier message: 19/07/2002, 18h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo