11 Zeichen ausschließen per preg_match

rernanded

Erfahrenes Mitglied
Hi
ich will insgesamt 11 Sonderzeichen <>[]{}_\~|$ per regex innerhalb preg_match ausschließen. Dazu nutze ich folgendes was aber nicht funktioniert, weil wahrscheinlich bestimmte Zeichen maskiert werden müssen:
PHP:
if (!preg_match('/[^<>[]{}_\~|$]/', $text)) {

die("Ihr Text enth&auml;lt unerlaubte Zeichen! <input type=\"button\" onclick=\"window.history.back();\" value=\"zur&uuml;ck\" />");
}

else{

Andererseits funktioniert dies hier um praktisch den selben Effekt zu erzielen, hier habe ich aber das Problem die äöüÄÖÜß noch zu berücksichtigen:

PHP:
if (!preg_match('/[a-zA-Z0-9\.\-\:\,\;\(\)\/\&\%\§\!\?\+\*\#\'\"\´\`\=\^\°]/', $text)) {


die("Ihr Text enth&auml;lt unerlaubte Zeichen! <input type=\"button\" onclick=\"window.history.back();\" value=\"zur&uuml;ck\" />");
}

else{

charset ist auf der Formularabsendeseite new_formular.php und auf der action=new.php jeweils iso-8859-1.

MONI
 
Zuletzt bearbeitet:
Zurück