Tach!
du hast nicht kontext-gerecht enkodiert!
"Kodiert" wäre das richtige Wort gewesen, Herr Englischlehrer! ;-)
Im Ergebnis müsstest Du also notieren:
[code lang=php]$url = array(
'host' => preg_split('~^(https?://[^/]+/).*~', '$1', $row['url']),
'path' => ''
);
Er kann auch die Funktion parse_url() nehmen.
Wahrscheinlich werden nun auch die Punkte im Dateinamen enkodiert - keine Ahnung ob das stört...
Nö, die bleiben unberührt.
Ansonsten wäre noch zu sagen, die Default-Kodierung für XML-Dateien ist UTF-8. (Die kontextgerechte Behandlung der URL-Werte kommt anschließend noch hinzu.) Und gern wird auch vergessen, mit dem DBMS auszuhandeln, in welcher Kodierung die Daten geliefert werden sollen (für MySQL).
dedlfix.