Mailinglisten-Archive |
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