Mailinglisten-Archive |
hallo, ich stell die frage hier, auch wenn das problem sich nicht direkt auf php bezieht, aber immerhin auf ein regexp-problem ;). denn ich brauche diesen regexp eigentlich für eine javascript-funktion. und zwar möchte ich einen string im csv-format, wie es excel bereitstellt mit javascript auslesen. habe dafür auch schon einen teil geschrieben. nun bin an folgendem punkt: alle datensätze (hier beispiele) sind stehen folgendermaßen in einem Array: array[ 'a;b;c', 'a;"bb;b";c', 'a;"bb""";c', 'a;"b\nb";c', 'a;b;";"""', '"a;;"";a";";b;b";c' ] wie man sieht habe ich versucht möglichst viele variationen reinzubringen. der knackpunkt sind die mit einem " maskierten bereiche. in diesen bereichen können ja " durch ein zweites " maskiert vorkommen und ausserdem das trennzeichen ; . (\n ist übrigens trenner der datensätze). nun muss dieses array in ein 2-dim. array rein, dass dann so aussehen muss (dir erste zeine sind immer die bezeichner für die spalten): array[0]['a'] = 'a'; array[0]['b'] = 'bb;b'; array[0]['a'] = 'c'; array[1]['a'] = 'a'; array[1]['b'] = 'bb"'; array[1]['c'] = 'c'; array[2]['a'] = 'a'; array[2]['b'] = 'b\nb'; array[2]['c'] = 'c'; array[3]['a'] = 'a'; array[3]['b'] = 'b'; array[3]['c'] = ';"'; array[4]['a'] = 'a;;";a'; array[4]['b'] = ';b;b'; array[4]['c'] = 'c'; hat jemand ne idee, wie ich das ganze mit einem regexp lösen kann - wenn das überhaupt geht, der nicht auf den quantifier ? angewiesen ist. komm einfach auf keine lösung. sonst komm ich um ein durchparsen über schleifen nich rum - und das kostet zeit. das ganze wird im endeffekt wiegesagt für javascript benötigt. danke euch im voraus, gruß lars
php::bar PHP Wiki - Listenarchive