Hallo,
So lange immer maximal ein Semikolon in den Anführungszeichen vorkommt, könntest Du es so probieren:
$newStr = preg_replace ("/\"([^\"]*?);([^\"]*?)\"/" , "\"\\1 \\2\"" , $csvString);
(habs nicht ausprobiert, müsstest mal testen).
Lies (die " sind immer maskiert, da sie ja Teil eines PHP-Strings sind):
"Suche alles, was mit " anfängt
gefolgt von beliebig viel oder gar nichts (*?) was kein " ist ([^"])
gefolgt von einem Semikolon
gefolgt von beliebig viel oder gar nichts (*?) was kein " ist ([^"])
gefolgt von "
UND ERSETZE DIES DURCH
"(das was vor dem Semikolon steht) (das was nach dem Semikolon steht)"
"
Wie gesagt, weiß nicht obs das schon tut, aber vielleicht ists ein erster Ansatz.
Wenn Du Dir allerdings nicht sicher bist, wie viele ";" vorkommen können,
könnte es etwas komplizierter werden.
Viele Grüße,
Jörg