phpbar.de logo

Mailinglisten-Archive

RE: [php] regexp für csv

RE: [php] regexp für csv

Markus Ehrlich m.ehrlich at release-it.de
Mit Sep 10 10:18:07 CEST 2003


Hallo Christian,

> ich habe da ein kleineres regexp problem.
> und zwar habe ich einen string von unbekannter länge, der aus einer
> reihe von werten besteht. jeder dieser werte ist in doublequotes
> gefasst und werte sind voneinander mit einem komma getrennt.
> (richtig, ein csv file :-)

Wenn Du ein File hast, würde ich mir diese Funktion anschauen:
http://de.php.net/manual/de/function.fgetcsv.php

> "wert1","wert2",...
> 
> ich suche nun eine möglichkeit, ein array mit diesen werten zu
> bestücken.
> 
> mein versuch:
>     $values = Array();
>     $value_count = preg_match("/(\"[^\"]*\")/", $line, $values);
> 
> das bringt mir natürlich nur den ersten wert, also versuchte ich es
> folgendermaßen:
>     $values = Array();
>     $value_count = 
> preg_match("/(\"[^\"]*\")[,(\"[^\"]*\")]*/", $line, $values);

Ansonsten würde ichs mal so probieren:

$sCSV = '"wert1","wert2","wert3","wert4","wert5","wert6","wert7"';
preg_match_all("/(\".*\")/U", $sCSV, $arMatches);

(denk dran, es entsteht ein zwei-dimensionales Array)

Gruss Markus

php::bar PHP Wiki   -   Listenarchive