Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/02/2011, 11h53   #1
Invité de passage
 
Inscription : octobre 2010
Messages : 9
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 9
Points : 2
Points : 2
Par défaut Parsing de fichier csv

Bonjour à tous !
Je suis en train de bosser sur un script qui est censé me transformer un fichier pseudo-csv en fichier csv.
Pour cela, je voudrais pouvoir faire une première passe sur le fichier pour créer un Array contenant une case du fichier pseudo-csv par entrée.
Exemple :
Array()
{
[0] => "Contenu case1"
[1] => "Contenu case2"
[2] => "Contenu case3"
..... and so on
}
preg_match_all() fait tout ce qu'il faut pour moi, mais à l'heure actuelle je suis juste incapable de faire une regexp qui correspondrait au découpage que je veux, et je ne sais même pas si c'est vraiment possible.

Le fichier que je parse ressemble à ça :

- Séparation des cases par un \n ou un |
- Certaines cases contiennent du texte, dans ce cas il est entre guillemets. Un | ou un \n entre guillemets ne doit donc pas être considéré comme une séparation de case.

Exemple :
Lorem | ipsum
"dolor sit amet" | consectetur | "adipiscing elit"
Pellentesque | "in
libero "
ligula

Oui, je sais, c'est naze ... c'est justement pour ça que je dois les retravailler ^^

Et j'aimerais pouvoir obtenir ça avec :
Array()
{
[0] => "Lorem"
[1] => "ipsum"
[2] => "dolor sit amet"
[3] => "consectetur"
[4] => "adipiscing elit"
[5] => "Pellentesque"
[6] => "in
libero "
[7] => "ligula"
}

Je ne sais absolument pas comment gérer le coup des guillemets. Si quelqu'un a une piste, ce serait super.

Merci d'avance !
Khamsin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2011, 11h57   #2
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 951
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : janvier 2006
Messages : 951
Points : 1 063
Points : 1 063
http://us2.php.net/manual/en/function.fgetcsv.php
php 5.3 http://us2.php.net/manual/en/function.str-getcsv.php
__________________
PHP fait nativement la validation d'adresse électronique Vous êtes perdu en PHP? rassurez-vous ici (en)
Utilisez le bouton résolu!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2011, 12h13   #3
Invité de passage
 
Inscription : octobre 2010
Messages : 9
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 9
Points : 2
Points : 2
... -_-
Je suis trop naze.

C'est pile ce qu'il me fallait, merci !
Khamsin est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h45.


 
 
 
 
Partenaires

Hébergement Web