Hi,
Die Verwendung einer Zeichenklasse würde sich sowieso anbieten:
$name = s/[;<>*|[{}@]]//g;
Das mit dem Escapen habe ich dann später herausgefunden.
Aber, wie weiter unten zu sehen ist, hast Du das mit der Zeichenklasse noch nicht verstanden.
Für die Datenbank ist HTML-Code (wenn Datenbank-Kontext-gerecht escaped) überhaupt kein Problem.
Du meinst also es genügt, wenn ich lediglich das Semikolon aussperre, da es in der DB als Abtrenner dient?
Nein, das meine ich nicht. Es muß Datenbank-Kontext-gerecht escaped werden. Und das betrifft NICHT nur das ;
OK, jetzt verstehe ich langsam die worte deiner Vorredner *g*
Offensichtlich nicht. Sonst würdest Du für die Datenbank nicht nur das ; behandeln wollen.
$name =~ s/;//g;
$name =~ s/<//g;
$name =~ s/>//g;
$name =~ s/\*//g;
$name =~ s/|//g;
$name =~ s/[//g;
$name =~ s/]//g;
$name =~ s/{//g;
$name =~ s/}//g;
$name =~ s/@//g;
$name =~ s/&//g;
$name =~ s/\//g;
Ich hab doch extra ein Beispiel mit Zeichenklasse in mein Posting gesetzt.
Scheint alles zu funktionieren.
Ja, aber der Schein trügt.
cu,
Andreas
Warum nennt sich Andreas hier MudGuard?
O o ostern ...
Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.