Der Rahmen ist erstmal klar; für den Anfang setz ich mal ein einfaches explode ein:
PHP-Code:
$daten = file('excelexport.txt');
$felder = array();
foreach($daten as $zeilennr => $zeile)
// Daten umwandeln in Array
$felder[] = explode(',', $zeile);
1. Kommata
2. Gänsefüßchen
Das mit den Kommata läßt sich recht einfach mit einer regexp lösen; "einfach" das explode hierdurch ersetzen:
PHP-Code:
{
preg_match_all('/(,|^)\s*("(.*)"|.*)\s*(,|$)/U', $zeile, $matches,
PREG_PATTERN_ORDER);
$zeilenfelder = array();
foreach($matches[3] as $i => $feld)
{
if (!$feld) $feld = $matches[2][$i];
$zeilenfelder[] = $feld;
}
$felder[] = $zeilenfelder;
}
Der komplette Ausdruck lautet nun so:
PHP-Code:
'/(,|^)\s*("((.|\\")*)"|.*)\s*(,|$)/U'
Wie immer sind alle Snippets nicht getestet und werden hier ohne Gewähr gepostet.
Einen Kommentar schreiben: