So bereinigen Sie sicher einen Textbereich, der vollständige HTML-Eingaben benötigt


9

Ich entwickle ein Plugin, mit dem der Benutzer HTML-E-Mails aus dem WordPress-Administrator heraus senden kann. Wie soll ich die Eingabe des Textbereichs bereinigen? Es muss in der Lage sein, alle HTML-Tags zu enthalten, die möglicherweise in einer HTML-E-Mail enthalten sind. Wenn ich wp_kses()dann benutze, müsste ich eine riesige Liste zulässiger Tags verwenden.

Der Textbereich speichert seinen Inhalt über benutzerdefinierte Optionen in der Datenbank.

Antworten:


14

Es gibt bereits eine große Liste für Sie , die wp_kses_allowed_html()basierend auf dem Kontext zurückgegeben und über den wp_kses_allowed_htmlFilter auch kontextbezogen gefiltert werden kann. Das Erstellen dieser Liste sollte nicht schwierig sein.

"Der gesamte Bereich der HTML-Tags, die möglicherweise in einer HTML-E-Mail enthalten sind" sollte jedoch ziemlich nahe an dem Bereich liegen, der für einen normalen Beitrag zulässig ist. Daher wp_kses_post()sollten Sie mit geringem Aufwand einen langen Weg zurücklegen.


Ja, das ist eine große Liste. Also importiere ich das einfach als Parameter und füge dann die Extras hinzu, die ich brauche, wie <html>und <body>so weiter
tommyf

Ja, wenn Ihre Benutzer so viel Markup enthalten müssen. Ich würde diesen Teil für sie generieren, wenn ich es wäre.
s_ha_dum
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.