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 les sous-chaînes vides avec explode ou preg_split (ou autre)


Sujet :

Langage PHP

  1. #1
    Membre éprouvé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 718
    Par défaut Récupérer les sous-chaînes vides avec explode ou preg_split (ou autre)
    Bonjour,
    En vue d'importer des cartes de visites au format VCF, j'essaye d'utiliser explode ou preg_split mais je ne sais pas comment récupérer les sous-chaînes vides.
    Exemple de chaîne à décomposer: ";;6A Rue des petits pois;Bruxelles;;1200;Belgique"
    Je voudrais obtenir ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array("", "", "6A Rue des petits pois, Bruxelles", "", "1200", "Belgique")
    alors que j'obtiens:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array("6A Rue des petits pois, Bruxelles", "1200", "Belgique")

  2. #2
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 988
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 988
    Par défaut
    Je ne vois pas quel est le problème tu devrais de base obtenir ce que tu veux (aussi bien avec explode qu'avec preg_split).

  3. #3
    Membre Expert
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Par défaut
    En effet.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    $a =  ";;6A Rue des petits pois;Bruxelles;;1200;Belgique";
    $b = explode(';',$a);
    var_dump($b);

    donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    array(7) {
      [0]=>
      string(0) ""
      [1]=>
      string(0) ""
      [2]=>
      string(22) "6A Rue des petits pois"
      [3]=>
      string(9) "Bruxelles"
      [4]=>
      string(0) ""
      [5]=>
      string(4) "1200"
      [6]=>
      string(8) "Belgique"
    }
    Le mieux encore est d'utiliser la fonction de lecture de fichiers csv.

    https://www.php.net/manual/fr/function.fgetcsv.php

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Citation Envoyé par badaze Voir le message
    Le mieux encore est d'utiliser la fonction de lecture de fichiers csv : https://www.php.net/manual/fr/function.fgetcsv.php
    Ou si la donnée ne vient pas d'un fichier : str_getcsv().
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Membre éprouvé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 718
    Par défaut
    @KosmoKnaci: Merci, tu m'a obligé à chercher ailleurs, car l'erreur était en amont!
    @badaze et @Celira: Oui, sauf que ce n'est pas du CSV mais du VCF. Je n'avais pas tilté, qu'en l'occurrence, le format est le même.

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

Discussions similaires

  1. [XL-2013] Lister les sous-répertoires vides avec les API windows
    Par informer dans le forum Macros et VBA Excel
    Réponses: 24
    Dernier message: 22/01/2017, 09h05
  2. Réponses: 6
    Dernier message: 01/06/2007, 13h19
  3. [Librairies] Comment gérer les sous dossiers INBOX avec IMAP
    Par Cr@zyDeep dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 18/05/2006, 11h21
  4. Comment récupérer les sous répertoires d'un répertoire
    Par charliejo dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/02/2006, 08h47
  5. [String] Récupérer une sous -chaîne sans split
    Par Crazyblinkgirl dans le forum Langage
    Réponses: 3
    Dernier message: 19/07/2004, 14h45

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