Ä zu AE – Umlaute mit PHP umwandeln

15. Oktober 2008

Alle Nase lang muss man als Webdeveloper Sonderzeichen gärtnern. Muss man in PHP Umlaute loswerden, ein „ß“ verschwinden lassen, einen dieser Ausnahmebuchstaben tilgen – um z.B. schicke URLs wahr werden zu lassen. Oft muss es eben ACSII sein, und das ist halt ein beschissen kleiner Zeichenvorrat von 128 Zeichen. Da ist an Umlaute nicht zu denken.

Das kann man machen, indem man sich große Tabellen anlegt und weitläufiges Suchen & Ersetzen durchführt. Ein „ä“ wird da zu „ae“, ein „ß“ zu „ss“ und so fort. Will man das richtig machen, kann man da herrlich lange Zeit mit dem Tippen von Vorher/Nachher-Zuordnungen verbringen. Super. Muss man das nun unbedingt selber durchexerzieren?

Kann PHP das vielleicht ab Werk selber erledigen? Ja, doch! Das iconv-Modul bringt so einiges mit, um Zeichenketten zwischen Kodierungen hin- und herzuwandeln. Vor allem beherrscht die Funktion iconv() die Fähigkeit zur Transliteration. Das bedeutet, dass ein Zeichen welches im Ziel-Zeichensatz nicht zur Verfügung steht, durch ähnliche Zeichen ersetzt wird. Durch Anhängen von „//TRANSLIT“ an den Zielzeichensatz bringt man die Funktion dazu, die speziellen Zeichen nicht zu verwerfen, sondern umzuwandeln:

<?php
$satz = "Olé Garçon! Diese Süßspeise schmeckt gar nicht übel! *börp*";
print (iconv("UTF-8", "ASCII//TRANSLIT", $satz));
?>

Das ergibt diese Zeichenfolge (wohlgemerkt wenn die PHP-Datei in UTF-8 kodiert ist):
Ole Garcon! Diese Suessspeise schmeckt gar nicht uebel! *boerp*

Na bitte!

iconv()-Dokumentation

WordPress-Sicherheit: Versionsnummer unterdrücken

13. Oktober 2008

Die Macher von WordPress haben schon häufig Schelte für die Sicherheit ihres Weblog-Systems bekommen. Was tun als Hasenfüßiger Webmaster, der man ist?
Da hat der „WordPress Codex“ seit geraumer Zeit einen passenden Artikel parat, der sich der „Härtung“ von WordPress widmet. Lesen sollte man den schon: Hardening WordPress

Da wird nach der Parole „Security through obscurity“ auch empfohlen, die Versionsnummer der Installation nicht laut herauszuposaunen, damit es die bösen Cracker in der Zeit zwischen Bekanntwerden einer Lücke und der Installation einer gefixten Version nicht so leicht damit haben, „willige“ Opfer zu finden. Na gut, gar nicht so doof!

Leider reicht es dazu nicht aus, einfach das „Generator“-Metatag aus dem Header zu schnipsen. Das System plakatiert seine Versionsnummer an allen Ecken und Enden: in den HMTL-Seiten, in den Feeds und so fort. Das Entfernen des Metatags allein ist bei den letzten Versionswechseln noch ein Stück weit schwieriger geworden – das Tag wird inzwischen von der builtin-Funktion wp_head() erzeugt. Die macht auch noch andere Dinge und ist nicht so leicht verzichtbar.

Abhilfe: der „Generator“-Funktion per Filter einen Riegel vorschieben. Am schnellsten geht das durch Einfügen folgender Zeilen in die function.php des eigenen WordPress-Templates unter /wp-content/themes/THEME-NAME:

function nichts() { 
    return ""; 
} 
add_filter('the_generator','nichts'); 

Das behebt das Problem direkt an der Wurzel, da WordPress auf die Funktion the_generator() an allerlei Stellen zurückgreift. Wer diesen „Schalldämper“ lieber als PlugIn mag (zum ein- und ausknipsen), kann sich natürlich auch mit wenigen Handgriffen selber eines daraus basteln – das macht den Webmaster natürlich auch nicht doofer 😉

Babys zum Einschlafen bringen – Teil II: Wasserhahn

24. September 2008

Nach dem überaus erfolgreichen Fön-Geräusch, das offenbar schon ganze Heerscharen von Säuglingen in den Schlaf gelullt hat (wow), ist es Zeit für etwas neues: Berichten zufolge soll das Geräusch von aus einem Wasserhahn strömendem Wasser den gleichen, einschläfernden Effekt auf Babies haben. Deswegen präsentiere ich hier 15 Minuten reinsten Wasserhahn-Geräusches zum Downloaden bis der Arzt kommt.

Download: Wasserhahn-Geräusch

Ich freue mich übrigens über Rückmeldung, ob es geklappt hat 🙂
Bei Problemen einfach ne Mail schicken.

Wünsche viel Entspannung und eine gute Nacht!

Time Machine – Backup für Doofe

16. September 2008

time-machine.jpg„Für Doofe“ im besten Sinne: ich musste (endlich) mein Time Machine-Backup benutzen, weil mir iPhoto die Library zerschossen hatte.

Ich würde ja gerne meckern, aber das Programm, das versionierende Backup und die etwas übertriebene Metapher mit dem Fliegen durch Zeit und Raum – der Mist funktioniert halt einfach!

Ich hätte sowas gerne für die Windows-Patienten aus meinem Bekanntenkreis. Das würde vielen Beteiligten eine Menge Zeit sparen. Gibt’s da schon was von Ratiopharm oder muss man sich das noch „in hässlich“ mit rsync auf der Kommandozeile antun?