Danke. Funktioniert prima. Mußte es nur minimal anpassen:
Jetzt hab ich aber noch 2 Probleme.
Das erste, wie lasse ich die erste Zeile weg?
Und das 2. größere Problem ist das perg_replace.
Beim Ausführen erhalte folgende Fehlermeldung:
PHP-Code:
$src = file(dirname(__FILE__).'/../import/preisliste.csv'); //Quelle
$dst = $this->openCsvFile("kategorien.csv"); //Ziel
$zaehler=2; //weil ID 1 schon vergeben
$such=array('/+/','/ä/','/ö/','/ü/','/\//'); //Suchkriterien
$replace=array('-','ae','oe','ue',''); //Replacements
$namen = array(); //Arbeitsarray
foreach($src as $zeile) {
$werte = explode(';', $zeile); // CSV Datenzeile in Array umwandeln
if (!in_array($werte[6], $namen)) { // vorausgesetzt der Name steht an Position 3
$namen[].= $werte[6]; // aufnehmen ins Array der bearbeiteten Namen
$text=($zaehler).";1;".utf8_encode($werte[6]).";".utf8_encode($werte[4]).";;;;;".preg_replace($such, $replace, utf8_encode($werte[6])).";".$werte[21]."\n";
fwrite($dst, $text); // komplette Zeile ins Ziel schreiben
$zaehler++;
}
} //foreach
Das erste, wie lasse ich die erste Zeile weg?
Und das 2. größere Problem ist das perg_replace.
Beim Ausführen erhalte folgende Fehlermeldung:
Code:
Warning: preg_replace() [function.preg-replace]: Compilation failed: nothing to repeat at offset 0 in ... on line 130
Kommentar