Jan: Bestimmte Tags automatisch ersetzen

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

  1. 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

    1. Hi,

      versuch mal

      $eintrag =~ s/<body.*>//g;

      Danke, hat wunderprächtig geklappt!!!

      Jan

      1. 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