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 :

Explode et expression régulière


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut Explode et expression régulière
    Bonjour à tous,

    Depuis une BDD, j'extrais une ligne d'adresse dont je dois séparer le code postal de la ville. Je ne connais pas les données, ni leur format. La seule chose dont je sois sûr c'est qu'il y a un espace entre le code et la ville.

    Donc la base serait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $part = explode(" ", $str);
    $code_post = $part[0];
    $ville = $part[1];
    Mais ça ne va fonctionner que sur des exemples comme :
    75000 Paris

    Là, on va coincer :
    85400 St Gilles Croix de Vie

    Le code postal n'est pas forcément numérique :
    F-95652 Montréal

    J'ai essayé de bidouillé un truc avec preg_match_all, sans succès.
    Vous auriez une idée pour que ça matche à tous les coups ?
    D'avance merci.

  2. #2
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut
    Une soluce avec du scotch et de la ficelle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $part = preg_split('/ /', $str, -1);
    $nb = count($part);
     
    $code_postal = $part[0];
    $ville = "";
    for($i=1;$i<$nb;$i++){
    $ville .= $part[$i]. " ";
    }
    $ville = substr($ville, 0, -1); //virer l'espace de fin
    Mais si quelqu'un a quelque chose de plus ergonomique, je suis preneur...

  3. #3
    Membre Expert
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 149
    Par défaut
    Si ceci te paraît plus propre, libre à toi de l'utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $part = explode(' ', $str);
    $code_post = $part[0];
    unset($part[0]);
    $ville = implode(' ',$part);

  4. #4
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut
    Salut et merci : oui, c'est plus clean, je trouve...et plus court !

Discussions similaires

  1. Expression régulière vs explode
    Par PIEPLU dans le forum Langage
    Réponses: 20
    Dernier message: 19/03/2013, 19h17
  2. [RegEx] explode, strstr, str.. utilise des expressions régulières ?
    Par newbie_php dans le forum Langage
    Réponses: 7
    Dernier message: 01/02/2010, 21h34
  3. [expression régulière] mon cerveau fait des noeuds..
    Par nawac dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 27/05/2003, 10h06
  4. Expressions réguliéres
    Par Tooms dans le forum Langage
    Réponses: 4
    Dernier message: 06/12/2002, 18h42
  5. Réponses: 5
    Dernier message: 11/06/2002, 15h21

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