2011-01-09 4 views
1

Versuchen, eine CSV-Datei zu analysieren, die alle Daten in doppelte Anführungszeichen eingeschlossen hat, da es Kommas in den Anführungszeichen geben kann.brauchen eine Regex zum Analysieren einer CSV-Datei mit doppelten Anführungszeichen in PHP

sieht wie folgt aus:

$songs = '"1, 2, 3, 4 (I Love You)","Plain White T's","CBE10-22",15,"CBE10-22","","","CB",984,"","10/05/10"'; 

$regResult = preg_match("", $songs, $matches); 

Ich kann nicht einen regulären Ausdruck herauszufinden, welche die Daten zwischen den Anführungszeichen als die Spiele zurück. Ich bin mir sicher, dass es einen Regex-Master gibt, der mir dabei helfen kann.

+1

, warum es ein regulärer Ausdruck sein muss? – jcolebrand

+3

Regex ist nicht das Werkzeug dafür. – Amber

+0

Perfekt. Benötigte nur das richtige Werkzeug. Vielen Dank! –

Antwort

8

Sie brauchen keine stinkin Regex, um eine CSV-Datei in PHP zu analysieren.

siehe fgetcsv() und str_getcsv()

+0

Sie haben zwar ein korrektes Beispiel angegeben. Auf diese Weise muss der Benutzer die Site nicht verlassen und die Antwort ist immer noch verwendbar, falls der verlinkte Spiegel von PHP.net nicht verfügbar ist. – Gordon

+1

Ich bevorzuge es, die Authorative Dokumentation die grundlegende Verwendung einer Funktion demonstrieren zu lassen. – goat

+0

Wenn DBCS-Zeichen vorhanden sind, funktioniert fgetcsv nicht ordnungsgemäß. Ich neige dazu, Regex zu verwenden, um CSV-Daten zu analysieren –

Verwandte Themen