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 :

Récupérer code postal [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 46
    Par défaut Récupérer code postal
    Bonjour,
    J'ai un petit problème avec mon code, je dois récupérer tous les codes postaux présent dans un document Word. Mais sa ne marche pas, sa me met une Array vide. Ou dans certain cas en changeant d'expression régulière j'ai l’erreur Undefined offset: 0.
    Merci.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $monfichier = fopen('C:\wamp\www\test\mailing - invitation 8-1-2013-port 263-groupe 1.doc', 'r+');
    $content= fread($monfichier,8000);
    //echo $content;
    preg_match_all('/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B[0-9]{3}$/',$content,$result, PREG_OFFSET_CAPTURE,0);
    print $result[0][0]; 
     
    fclose($monfichier);
    ?>

  2. #2
    Membre expérimenté
    Avatar de crozet.magenta
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2012
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 208
    Par défaut
    Si je ne m'abuse fread lit. Le fichier en mode binaire...
    Essaye d'ouvrir ton document avec notepad tu verras que c'est pas la même chose que quand tu l'ouvres avec word. Ton probleme vient peut-être de là.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 46
    Par défaut
    Merci pour ta réponse,
    effectivement quand je l'ouvre avec le notepad le résultat n'est pas le même. Les entêtes et pied de pages disparaissent. Mais je ne pense pas que cela soit la cause de mon problème :
    J'arrive à récupérer le Code postal de manière "manuelle" en entrant la position exacte de celui dans le fseek en faisant comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $monfichier = fopen('C:\wamp\www\test\mailing - invitation 8-1-2013-port 263-groupe 1.doc', 'r+');
    $content= fread($monfichier,8000);
    fseek ($monfichier,2678);
    $cp = fread($monfichier,5);
    mais comme les adresses sont différente je ne peut pas utiliser cette méthode car la position est différente pour chaque adresses.

  4. #4
    Membre expérimenté
    Avatar de crozet.magenta
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2012
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 208
    Par défaut
    si tu recherches uniquement des codes postaux, ils sont tous sous forme d'une série de 5 chiffres même pour les dom tom qui ont 3 chiffres pour le département et pour la corse (2A et 2B sont remplacés par 20)
    il me semble que cette requête devrait fonctionner :

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match_all('/^[0-9]{5}$/',$content,$result, PREG_OFFSET_CAPTURE,0);

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 46
    Par défaut
    Je viens de tester avec ton code. Mais il me retourne toujours l'erreur Undefined offset sur le print.
    J'ai lu que cet erreur était un problème d'index qui n'existe pas et en effet quand je fait un :
    J'obtiens Array ( [0] => Array ( ) ).
    Donc le preg_match ne marche pas.
    Si quelqu'un a une autre méthode pour les récupérer je suis preneur.

  6. #6
    Membre expérimenté
    Avatar de crozet.magenta
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2012
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 208
    Par défaut
    ah alors en enlevant le "PREG_OFFSET_CAPTURE,0" ça devrait fonctionner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match_all('/^[0-9]{5}$/',$content,$result);

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/03/2014, 15h43
  2. Récupérer code postal dans une adresse
    Par shaddy dans le forum SAS Base
    Réponses: 4
    Dernier message: 21/06/2012, 12h29
  3. Récupérer le département à partir du code postal
    Par galigori dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/05/2010, 23h37
  4. récupérer un code postal dans une adresse
    Par knice dans le forum Langage
    Réponses: 4
    Dernier message: 30/07/2008, 17h47
  5. Réponses: 5
    Dernier message: 24/01/2006, 15h25

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