Ich habe es nur verwendet, wp_kses
wenn ich speziell Attribute von HTML-Tags zulassen / filtern musste (zum Beispiel möchte ich, dass sie ein <image>
Tag mit einem src=""
Attribut haben dürfen, aber ich möchte nicht, dass sie es können, aber href=""
oder style=""
oder irgendetwas anderes auf dem Bild-Tag. In diesem Fall ist es wp_kses
praktisch, weil Sie (wie Sie in dem von Ihnen erstellten Beispiel sehen können) sehr spezifisch filtern können. Ich habe es jedoch selten verwendet, wp_kses
weil ich nur ein paar native PHPs finde Funktionen (unten) machen den Trick und sind leichter zu verstehen, wenn ich mir den Code einige Monate später ansehe.
Wenn Sie HTML-Tags vollständig entfernen möchten (außer vielleicht ein paar zulassen), verwende ich immer strip_tags
. Sie können eine Reihe zulässiger Tags (wie <p> <br> <strong>
) oder andere harmlose Tags, die Sie mögen, übergeben. Dadurch kann der Benutzer in der Lage sein zu haben einige Kontrolle über die Formatierung, wenn das für Ihren Anwendungsfall anwendbar ist. Ich mag es, strip_tags
weil es einen Whitelist- Ansatz zur Bereinigung Ihrer Daten erfordert. (Dies bedeutet, dass alles entfernt wird, außer was Sie explizit auf die Whitelist setzen).
Wenn Ihr Ziel darin besteht, ihnen das Einfügen von HTML in den Inhalt zu ermöglichen, Sie jedoch nur ihren Text bei der Eingabe anzeigen möchten (wie Codebeispiele), verwenden Sie htmlspecialchars
. Dadurch werden HTML-Zeichen in ihre codierten Gegenstücke konvertiert, sodass Sie sie sicher auf der Seite ausgeben können.
Möglicherweise stoßen Sie auf Code, str_replace
der nach schlechten Tags wie oder oder was auch immer "sucht". Ich empfehle diesen Ansatz wirklich nicht, da für die Bereinigung von Daten ein Blacklist- Ansatz erforderlich ist und Sie ständig sicherstellen müssen, dass Ihre Blacklist auf dem neuesten Stand ist.
Zusammenfassend lässt sich sagen, dass es davon abhängt, wofür Ihre Metaboxen verwendet werden. Wenn Sie sich vor Eingaben von Benutzern schützen (die möglicherweise böswillig sind), würde ich strip_tags
einige der harmlosen Tags empfehlen und nur zulassen. Wenn Sie ein gutes Geschäftsmodell haben, um die Tags und spezifischen Attribute des Benutzerinhalts wirklich mikromanagen zu können , use wp_kses
.