Hello,
Wenn ein "ä" im Dateinamen vorkommt, kannst du selbstverständlich im HTML-Quelltext
<a href="http://example.net/ä">
schreiben. Das wird ja nicht so rausgeschickt; sondern der Browser wandelt ä in ä um, so dass "http://example.net/ä" rausgeschickt wird. Der Server bekommt überhaupt nicht mit, wie das "ä" im Quelltext steht.
Der Browser weigert sich aber in immer noch erheblicher Anzahl vertretener Exemplare, das 'ä' im Ressource-String überhaupt abzuschicken. Und deshalb muss es meiner Meinung nach mit rawurlencode() (PHP) behandelt werden.
Jedenfalls funktioniren die so behandelten Links erwartungsgemäß einwandfrei, während die mit den Umlauten nicht funktionieren. Auch wenn der Browser den Request vermeintlich abschickt, erhalte ich nur einen 404er.
Das mag dann wiederum am Server liegen. Vielleicht versickert die richtige Codierung ja aber auch auf der Strecke? Es ist mir zu müßig, sowas zu verfolgen, wenn man durch passende Codierung das Problem mit der Wurzel ausreißen kann.
Gesucht sit also eine RegExp, die mir alle Vorkommen von "<a href="äöüß" ...> findet und daraus eine Hyperreferenz mit RawURL-Codiertem String macht.
Das äöüß steht jetzt hier nur als Platzhalter für die verbotenen Zeichen und außerdem als Platzhalter für die HTML-codierten Zeichen, also ä Ä ...
Die muss ich dann ja wohl erst wieder zurückverwandeln, um sie anschließend mit rawurlencode() behandeln zu lönnen.
Als zweite Aufgabe ist noch das Entfernen von OLDREF=" ... " zu erledigen ;-)
Da es sich um ca. 2000 Dokumente in Verzeichnissen und Unterverzeichnissen handelt, möchte ich das händisch erledigen.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau