ich nochmal
. habe hier ein mega problem mit dem einlesen von
csv dateien. excel sowei mein programm haben ein problem beim einlesen einer
csv datei. wenn ein " in einem string vorkommen, wird der string unterbrochen. jetzt habe ich eine php function die mir alle " ersetzten soll die nicht neben einem ; stehen. also ";" ist erlaubt aber " alleine in einem string nicht.
erbitte hilfe !
Code:
private function replaceSemicolonAndExplode($buffer) {
if (count($buffer)>0) {
foreach ($buffer as $b) {
if (strlen($b)>64) { //leere Zeilen entfernen
### semikolons ersetzen!
$amark =0;
for ($i=0;$i<strlen($b);$i++) {
if(substr($b,$i,1)=='"') {
$amark++;
}
if(substr($b,$i,1)==';' && ($amark % 2)==1) {
$b = substr($b,0,$i).$cfg['import']['colon_replace_string'].substr($b,$i+1,strlen($b));
}
}
$exploded[] = explode(";",$b);
### semikolon rueckersetzen
$key = array_search($cfg['import']['colon_replace_string'],$exploded);
while ($key) {
$exploded[$key] = str_replace($cfg['import']['colon_replace_string'],";",$exploded[$key]);
}
}
}
unset($buffer);
return $exploded;
} else return array();
}
[edit=Phoenix]Code-Tags korrigiert. Mfg, Phoenix[/edit]