-
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 !
-
-
... -_-
Je suis trop naze.
C'est pile ce qu'il me fallait, merci !