Shellscript zum ändern des Encodings einer ganzen Webseite

DeeDee0815

DeeDee0815

Doppel-As
Guten Abend,

eine von mir seit einem Jahr gepflegte Internetpräsens soll leicht überarbeitet werden. Dies möchte ich mit einem Skript automatisieren, da es sich um folgende, immer gleiche Änderungen handelt:

  • Öffnen der einzelnen PHP-Dateien im utf-8 Encoding
  • Ersetzen von ü, ä, ö und anderen Zeichenketten durch z.B. ü, ä, ö
  • Speichern der Dateien mit dem Encoding iso-8859-1

Es wäre sehr umständlich diese über 120 Dateien per Hand zu editieren.

Kann mir jemand im groben sagen, wie man so etwas macht? Ich bin zwar langjähriger Linuxer, habe aber noch nie ein Shellscript geschrieben.

Mit freundlichen Grüßen,
DeeDee0815 :)
 
Ähm? Warum willst du von uft-8 zu iso wechseln UND dabei evtl. Probleme mit den Umlauten kriegen?

Zum Ändern der Codierung kannste dir mal "iconv" ansehen.
 
Weil ich damit probleme mit dem Umlauten loswerde! Denn auf die bisherige Weise muss bei der Seite jeder Umlaut mit ä etc. angegeben werden. Der Server sendet das iso-8859-1 encoding. So kann man - moderner Weise - die Umlaute direkt senden. Und erzähl nix von Problemen, die trotzdem auftreten können - damit kenne ich mich gut aus. Es gibt dann keine.

Ansonsten vielen Dank für deine Hilfe :) ,

mit freundlichen Grüßen
DeeDee0815

P.S.: Wenn ich das mit diesem programm mache, benötige ich immernoch ein Skript was dieses Programm aufruft bzw Zeichenketten ersetzt. Weiß da jemand was?
 
Zuletzt bearbeitet:
Hallo

Du willst Entitys ersetzen?
Über den Sinn deines Anliegens mag ich nicht weiter reden. (ich weiß es gibt eine saubere Lösung für utf8)

Nur mal kurz einen Vorschlag, wie ich das auf eine Datei anwenden würde:
Code:
perl  -i _bak -p -e 'BEGIN{%h=("ü" => "ü" , "ä" => "ä", "Ü" => "Ü" , "Ä" => "Ä")}for $a (keys %h){s/$a/$h{$a}/g}' Datei
Davor ein find, welches dir alle relevanten Dateien sucht...(pipe)
-i _bak erstellt gleichzeitig noch Backupdateien mit der Endung _bak und arbeitet auf dem Orginal.

Gruß Wolfgang

.
 
Zurück
Oben