hallo,
ich stehe jetzt schon seit stunden vor dem selben problem, ich habe hier verschiedene csv dateien um gewandelt werden sollen. und ich bin die sache so angegangen, dass ich mit explode die datei zerlegt habe (beistriche als trennzeichen).
aber jetzt stehe ich vor dem problem, dass gewisse felder die selber eine beistrich enthalten (dadurch starten sie mit ," und enden mit ",)
hier mein code:
aber irgendwie geht das nicht ganz
ich stehe jetzt schon seit stunden vor dem selben problem, ich habe hier verschiedene csv dateien um gewandelt werden sollen. und ich bin die sache so angegangen, dass ich mit explode die datei zerlegt habe (beistriche als trennzeichen).
aber jetzt stehe ich vor dem problem, dass gewisse felder die selber eine beistrich enthalten (dadurch starten sie mit ," und enden mit ",)
hier mein code:
Code:
// convertiert thunderbird csv dateien in das standard outlook format function thunderbirdToOutlook($csv_string) { $debug = "on"; $status = "NOT CLEAN"; // beistriche aus dem datensaetzen entfernen while($status <> "CLEAN") { $cleanString = removeCommas($csv_string); // pruefen ob noch beistriche im den datensaetzen vorhanden sind $text = $cleanString; $suche = ',"'; $search = stristr($text,$suche); if($search == "") { $status = "CLEAN"; echo("huhu"); } else { $status = "NOT CLEAN"; echo("nooo"); } } $codeExplode = explode(',', $cleanString); $vorname = $codeExplode[0]; $nachname = $codeExplode[1]; $anzeigename = $codeExplode[2]; $spitzname = $codeExplode[3]; $emailAdresse1 = $codeExplode[4]; $emailAdresse2 = $codeExplode[5]; $telefonGeschaeftlich = $codeExplode[6]; $telefonPrivat = $codeExplode[7]; $faxGeschaeftlich = $codeExplode[8]; $pager = $codeExplode[9]; $mobilTelefon = $codeExplode[10]; $strassePrivat1 = $codeExplode[11]; $strassePrivat2 = $codeExplode[12]; $ortPrivat = $codeExplode[13]; $regionPrivat = $codeExplode[14]; $PostleitzahlPrivat = $codeExplode[15]; $LandPrivat = $codeExplode[16]; $strasseGeschaeftlich1 = $codeExplode[17]; $strasseGeschaeftlich2 = $codeExplode[18]; $ortGeschaeftlich = $codeExplode[19]; $regionGeschaeftlich = $codeExplode[20]; $postleitzahlGeschaeftlich = $codeExplode[21]; $landGeschaeftlich = $codeExplode[22]; $anrede = $codeExplode[23]; $abteilung = $codeExplode[24]; $firma = $codeExplode[25]; $webseiteGeschaeftlich = $codeExplode[26]; $webseitePrivat = $codeExplode[27]; $leer1 = $codeExplode[28]; $leer2 = $codeExplode[29]; $leer3 = $codeExplode[30]; $benutzer1 = $codeExplode[31]; $benutzer2 = $codeExplode[32]; $benutzer3 = $codeExplode[33]; $benutzer4 = $codeExplode[34]; $notiz = $codeExplode[35]; if($debug == "on") { echo("Vorname: ".$vorname."[/b] "); echo("Nachname: ".$nachname."[/b] "); echo("Anzeige Name: ".$anzeigename."[/b] "); echo("Spitzname: ".$spitzname."[/b] "); echo("Email 1: ".$emailAdresse1."[/b] "); echo("Email 2: ".$emailAdresse2." "); echo("Telefon geschäftlich: ".$telefonGeschaeftlich." "); echo("Telefon privat: ".$telefonPrivat." "); echo("Fax geschäftlich: ".$faxGeschaeftlich." "); echo("Pager: ".$pager." "); echo("Mobiltelefon: ".$mobilTelefon." "); echo("Strasse 1 privat: ".$strassePrivat1." "); echo("Strasse 2 privat: ".$strassePrivat2." "); echo("Ort privat: ".$ortPrivat." "); echo("Region privat: ".$regionPrivat." "); echo("Postleitzahl privat: ".$PostleitzahlPrivat." "); echo("Land privat: ".$LandPrivat." "); echo("Strasse 1 geschäftlich: ".$strasseGeschaeftlich1." "); echo("Strasse 2 geschäftlich: ".$strasseGeschaeftlich2." "); echo("Region geschäftlich: ".$regionGeschaeftlich." "); echo("Postleitzahl geschäftlich: ".$postleitzahlGeschaeftlich." "); echo("Land geschäftlich: ".$landGeschaeftlich." "); echo("Anrede: ".$anrede." "); echo("Abteilung: ".$abteilung." "); echo("Firma: ".$firma." "); echo("Webseite geschäftlich: ".$webseiteGeschaeftlich." "); echo("Webseite privat: ".$webseitePrivat." "); echo("Leer 1: ".$leer1." "); echo("Leer 2: ".$leer2." "); echo("Leer 3: ".$leer3." "); echo("Benutzer 1: ".$benutzer1." "); echo("Benutzer 2: ".$benutzer2." "); echo("Benutzer 3: ".$benutzer3." "); echo("Benutzer 4: ".$benutzer4." "); echo("Notiz: ".$notiz." "); echo("<hr>"); } } // entfernt beistriche aus dem text // TODO: diese funktion mit einer while schleife ausfuehren damit wirklich alle beistriche entfernt werden function removeCommas($csv_string) { $debug = "on"; // string bei ," trennen $stringToCut = explode(',"', $csv_string); // string for ," $stringBefore = $stringToCut[0]; // string nach ", $i_count = count($stringToCut); $i_counter = 1; for ($i=0; $i<=$i_count; $i++) { $stringMiddle = explode('",', $stringToCut[$i_counter]); $stringConvert = str_replace (',', '', $stringMiddle[0]); $stringMerge = $stringConvert.','.$stringMiddle[1]; $stringAfter = $stringAfter.','.$stringMerge; $i++; $i_counter++; } $stringReady = $stringBefore.$stringAfter; if($debug == "on") { echo("String Ready: ".$stringReady." "); $count = count($stringToCut); echo("Array Teile: ".$i_count." "); } return $stringReady; } $csvFile = file ('/tmp/thunderbird_test2.csv'); // Durchgehen des Arrays und Anzeigen des HTML Source inkl. Zeilennummern foreach ($csvFile as $line_num => $csvFileline) { thunderbirdToOutlook($csvFileline); }
Kommentar