Thomas Luethi: html_entity_decode ausführen, <a deaktivieren

Beitrag lesen

Hallo,

html_entities_decode fürht jeglichen HTML Code aus der DB aus,

Du hast da offenbar ein paar Dinge nicht ganz begriffen...

HTML Code wird ueberhaupt nicht "ausgefuehrt",
weil HTML keine Programmiersprache ist.

html_entity_decode (Schreibweise beachten!) ist eine
String-Funktion von PHP.
Sie wandelt z.B. den String "<b>" in den String "<b>" um.
http://www.php.net/manual/de/function.html-entity-decode.php

Du suchst vermutlich so etwas wie strip_tags()
http://www.php.net/manual/de/function.strip-tags.php
Dort kann man allerdings nur eine "Positivliste" machen
mit den "erlaubten" Tags/Elementen, die PHP _nicht_
entfernen soll, und alle anderen Tags werden geloescht.
Das erscheint mir vom Gedanken der Sicherheit her auch
deutlich sinnvoller.

Wenn Du gezielt alle Links bzw. <A>-Elemente rausfiltern
willst, musst Du wohl zu komplizierteren String-Funktionen
greifen. Denk aber daran, dass richtig "boese Jungs" es
Dir nicht einfach machen werden, z.B. schreiben sie vielleicht
< a href="..." onClick="boeseJavaScriptAktion">
und nicht einfach
<a href="...">

Ein einfaches Suchen und Ersetzen von "<a" wird also
nicht reichen, wenn der betroffene Text potentiell auch
von "boesen Jungs" stammen kann (Gaestebuch u.s.w.).

Gruesse,

Thomas

--
Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/