Tach!
Dem Anwender diese Freiheiten nehmen, oder mit allen möglichen Konsequenzen leben, oder sehr, sehr viel Aufwand treiben, um mögliche Schwachstellen auszubügeln.
Sprich, einer dieser Funktionen aus einem beliebigen Framework vertrauen soweit ich mir nicht zutraue es besser/sicherer zu lösen?
Vertrauen ist schlecht, Wissen ist besser. Das Zutrauen sollte voraussetzen, dass du dich mit der Thematik auskennst. Lies nach, was diese Funktionen vorgeben zu tun. Wofür sind sie gedacht, was können sie nicht? (Zaubern zum Beispiel.) Informier dich über die Möglichkeiten, wo überall im HTML-Code Javascript-Code stehen kann. Versuch mal auf diese Arten Code auszuführen - mit und ohne Absicherung.
Offenbar ist das Problem nicht so einfach zu lösen, sonst hätten selbst die "großen" CMS nicht damit zu kämpfen obwohl sie viel Energie in komplizierte Funktionen investieren. Der heilige Gral, also ein Derivat zu htmlspecialchars, gibt es für solche Fälle also (noch) nicht?
Ist es denn notwendig, dass der Anwender HTML eingeben muss? Ist es denn notwendig, dass du sowas Anwendern gestatten musst, denen du keine 3em weit trauen kannst?
dedlfix.