Hallo Simon,
$trans = array ("ä" => "ae", "ö" => "oe", "ü" => "ue", "Ä" => "Ae", "Ö" => "Oe", "Ü" => "Ue");
$dateiname = strtolower(strtr($oStruct->parts[$k]->dparameters[0]->value, $trans));
zwei Dinge:
-
Bei obiger Lösung könntest Du Probleme mit dem Encoding bekommen. Ein Unicode-Ä ist nicht das Gleiche wie ein ISO-Ä.
-
Es gibt ja noch mehr unerwünschte Zeichen in Dateinamen, z.B. "ß", Leerzeichen, Kommata, Punkte, Akzente, Hochkommata, ...
Je nachdem, woher Du die Dateinamen bekommst, mußt Du Dich auf die wüstesten Zeichenketten gefaßt machen.
Ich ersetze in solchen Fällen einfach immer alle unerwünschten Zeichen durch einen Unterstrich: $dateiname = preg_replace("/[^a-zA-Z]/", "_", $dateiname);
Aber vielleicht hat ja im Forum noch jemand bessere Ideen.
Ciao,
Andreas