phpbar.de logo

Mailinglisten-Archive

[php] Mail-Formular - erlaubte Zeichen

[php] Mail-Formular - erlaubte Zeichen

Niels Jäckel niels.jaeckel at silice.de
Son Sep 26 15:56:23 CEST 2004


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