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?
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?
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 …