(PHP) unhtmlspecialchars()

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

<?php
function unhtmlspecialchars($str) {
   $str = str_replace("&amp;", "&", $str);
   $str = str_replace("&apos", "'", $str);
   $str = str_replace("&#039;", "'", $str);
   $str = str_replace('&quot;', "\"", $str);
   $str = str_replace('&lt;', "<", $str);
   $str = str_replace('&gt;', ">", $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.

page_revision: 2, last_edited: 1213468450|%e %b %Y, %H:%M %Z (%O ago)