Hi,
Wenn die Textzelle nun aber auch noch das Separator-Zeichen (also Komma, Tab, Semikolon, o. ä.) enthält, dann hat man meistens verloren.
nicht unbedingt - dann müsste, wie schon gesagt wurde, eigentlich das ganze Feld in "" gesetzt worden sein. Ich habe mal so eine ähnliche Datei ausgewertet. Vielleicht etwas umständlich, aber es hatte geklappt:
if(file_exists($Losungsdatei)) $Losungen = file($Losungsdatei);
if(isset($Losungen) && count($Losungen)>$Losungstag) {
$Losungen[$Losungstag] = str_replace(';','|',$Losungen[$Losungstag]);
$Losungen[$Losungstag] = str_replace('| ','; ',$Losungen[$Losungstag]);
# der Trenner war ein Semikolon, was ich geändert habe und danach evtl. fehlerhafte Änderungen wieder zurückgeommen habe.
# weiterer Code...
$Losung = explode("|", $Losungen[$Losungstag]);
$Losung[6] = trim($Losung[6]);
# den letzten Zeilenumbruch löschen.
# weiterer Code...
for($i=4; $i<=6; $i+=2) {
if(strpos($Losung[$i],'"')===0) {
$Losung[$i] = substr($Losung[$i],1,strlen($Losung[$i])-2);
$Losung[$i] = str_replace('""','"',$Losung[$i]);
}
# Hier werden evtl. vorhandene doppelte Quotes eliminiert.
Der Aufwand wäre aber mit den CSV-Funktionen vermutlich nicht nötig.
freundliche Grüße
Ingo