46356
Goto Top

HTML Code bis auf br verbieten?

Guten Tag!

Wie ist es möglich HTML Code im Gästebuch zu verbieten; mit ausnahme von <br> und </ br>?
Zur Zeit mache ich es über die Funktion:
htmlentities($string, ENT_QUOTES)...

Kann ich die 2 br's direkt in die Funktion integrieren oder brauch ich dazu eine neue (von mir unbekannte) Funktion?

Liebe Grüße,
Alexander

Content-ID: 87407

Url: https://administrator.de/contentid/87407

Ausgedruckt am: 25.11.2024 um 07:11 Uhr

LordGurke
LordGurke 12.05.2008 um 10:07:53 Uhr
Goto Top
Sollen die Benutzer die <br>s angeben?
Ich würde lieber zu nl2br() greifen, damit würden normale Zeilenumbrüche in <br /> (ja, leider XHTML) umgewandelt und du bräuchtest diese Ausnahme nicht - nl2br() müsste natürlich _nach_ htmlentities angegeben werden.
46356
46356 12.05.2008 um 12:13:22 Uhr
Goto Top
Hallo myxi89!

Ich verwende im Gästebuch auch nl2br()...
Die Einträge werden dann in der Datenbank gespeichert und sehen so aus:
Hallo! </ br>
Ein Zeilenumbruch </ br> ... usw...

Wenn ich es ausgebe, wird mir der formatierte Text angezeigt...
... schreibt aber ein Benutzer HTML Code in das Gästebuch wird dieser
auch ausgefürht....

...nun möchte ich aber HTML Code verbieten.
Jedoch sollten die </ br> trotzdem ausgeführt werden...

Liebe Grüße,
Alex
LordGurke
LordGurke 12.05.2008 um 13:02:31 Uhr
Goto Top
Du könntest vorher mit str_replace() alle <br>'s durch \n ersetzen lassen, htmlentities() drüberlaufen lassen und dann wieder nl2br() anwenden.
Es wäre darüberhinaus wie du siehst eine praktikable Lösung, die Daten vom Gästebuch mit \n in der Datenbank zu speichern und erst beim Auslesen mit nl2br() wieder HTML-Zeilenumbrüche einzusetzen - also die Daten ohne diese Vorbehandlung zu speichern.
(Das soll aber nicht heißen, dass die Sachen vollkommen unbehandelt in die DB kommen, mysql_real_escape_string() etc... sollten vorher natürlich noch angewandt werden!)
Creator1981
Creator1981 12.05.2008 um 20:39:57 Uhr
Goto Top
Also ich würde folgende funktion verwenden:

strip_tags ( string $str [, string $allowable_tags ] )

Nachlesen kannst du hier:

http://de2.php.net/manual/de/function.strip-tags.php.

Da stehen auch alle weiteren Funktionen die du verwenden kannst bzw solltest.