Sonderzeichen abfangen

Hi,

ich lasse auf einer Web-Seite vom Benutzer Text eintragen. Danach will ich diesen Text in eine MySQL-Datenbank aufnehmen.
Klappt auch i.A. alles bestens mit meinem Perl-Skript. Nur wenn Sonderzeichen im Spiel sind funktioniert es nicht.
Wie kann ich dieses Problem am einfachsten beheben?

Mfg
Giana

ganz einfach

if($text=~s/\W/g){
print"Es ist oder mehr sonderzeichend enthalten";
}

Hi Metaman,

bei mir sind ja nur die Sonderzeichen interessant, die meine Datenbankanfrage dann zum Absturz bringen (wie "). \W findet ja alles außer Buchstaben, Ziffern und Unterstrich, oder?

Mfg
Giana

Stimmt mit \W findet jedes Sonderzeichen das nicht in eine URL gehöhrt
wenn Du aber nur bestimmte sonderzeichen erkennen willst, dann wäre es auch möglich diese Sonderzeichen einfach aus dem Text zu entfernen
$text=~s/x/y/g;

damit würdest Du jedes x im Text mit einem y erstzen
oder wenn Du jedes x einfach nur löschen wolltest, würde es so gehen
$text=~s/x//g;

Willst Du aber Sonderzeichen aus dem Text entfernen, dann mit \
also
$text=~s/|/y/g; # sucht nach | im text und ersetzt es mit y
$text=~s/$/y/g; # sucht nach $ im Text …