Bestimmte Tags automatisch ersetzen
Jan
Hallo!
Ich bin dabei, das Gästebuch von Matt Wright zu modifizieren.
Ich möchte dabei generell HTML-Tags als Eintrag erlauben (sollen also als solche ausgeführt werden), jedoch bestimmte Tags automatisch löschen (z.B. <Body....>), da diese das Gesamtbild ändern könnten (ein böswilliger Besucher könnte den Hintergrund schwarz machen, dann wäre nichts mehr sichtbar).
Weiss jemand, wie sowas geht???
Jan
Hi,
versuch mal
$eintrag =~ s/<body.*>//g;
Das mußt Du natürlich für alle verbotenen HTML-Befehle machen. Wenn Du nur einige wenige Befehle erlauben willst (z.B. <b>), dann versuche es so:
$eintrag =~ s/<b>/[b]/g; # <b> durch [b] ersetzen
$eintrag =~ s/</b>/[/b]/g; # dito für </b> (diese beiden Zeilen für alle erlaubten Befehle wiederholen)
$eintrag =~ s/<.*>//g; # alle HTML-Tags löschen
$eintrag =~ s/[/</g; # alle eckigen Klammern
$eintrag =~ s/]/>/g; # wieder zurückübersetzen
Hope it helps,
Cheatah
Hi,
versuch mal
$eintrag =~ s/<body.*>//g;
Danke, hat wunderprächtig geklappt!!!
Jan
Hi,
eben sehe ich im Beitrag "Regulaerer Ausdruck: Dieses Problem ist geloest - doch warum?" (etwas weiter oben), daß Du möglicherweise noch ein Fragezeichen einfügen mußt, also:
$eintrag =~ s/<body.*?>//g;
Am besten verfolgst Du den Thread mit, ob dies wirklich so ist! Mir war die Problematik vorher auch nicht bekannt, ich bin jetzt sehr gespannt auf den Ausgang... :-)
Cheatah