Problematik
Die Funktion htmlspecialchars() hat wohl jeder PHP-Programmierer schon mal benötigt. Nützlich ist die Funktion vor allem, um HTML-Code von Benutzereingaben aus Formularen „unschädlich“ zu machen. Eine Umkehrfunktion unhtmlspecialchars() für den Fall, dass maskierter wieder in „scharfen“ HTML-Code verwandelt werden soll, bietet PHP allerdings nicht an.
Code
function unhtmlspecialchars($str) { $str = str_replace("&", "&", $str); $str = str_replace("&apos", "'", $str); $str = str_replace("'", "'", $str); $str = str_replace('"', "\"", $str); $str = str_replace('<', "<", $str); $str = str_replace('>', ">", $str); return $str; }
Erläuterung
Die Funktion bekommt wie ihre originale Geschwisterfunktion einen String übergeben. Dieser wird mehrfachen Suche-Ersetze-Vorgängen unterworfen. Dabei wird mit Hilfe der PHP-Funktion str_replace() nach den typischen Maskierungen HTML-eigener Zeichen gesucht. Diese werden durch die Originalzeichen ersetzt. Am Ende wird der so behandelte Strint wieder zurückgegeben.
