Mailinglisten-Archive |
Hallo René,
> $Name = preg_replace("/[!\"§\$%&\/\(\)=\?#'\+\*~\|<>°\^\{\[\]\}\\\,\.-;:_µ¡¢£¤¥¦§¨©«¬®¯±²³´µ¶·¸¹»¼½¾¿×÷]/", "", $_POST["name"]);
>
> Ich glaube jedoch, daß es besser wäre, per preg_replace die zulässigen
> Zeichen zu definieren und den Rest zu entfernen.
>
> Kennt jemand ein Script dafür oder kann mir sagen, wie das realisiere?
Mit der folgenden Funktion werden nur Zeichen von #32 bis #126
"durchgelassen". Alles andere wird gelöscht. Das sollte die Kriterien
von UTF-8 erfüllen. Sonderzeichen, wie das EURO-Symbol kannst du ja
vorher noch separat ersetzen.
function toUTF8($text) {
return preg_replace('°[^ -~]°', '', $text);
}
Wenn du aber HTML-Entities ersetzen möchtest kannste auch
htmlspecialchars() verwenden.
Hoffe das hilft,
Grüße
Niels Jäckel
php::bar PHP Wiki - Listenarchive