Was ist der Unterschied zwischen strip_tags und wp_filter_nohtml_kses?

Was ist der Unterschied zwischen strip_tags und wp_filter_nohtml_kses Ich habe versucht, wp_filter_nohtml_kses aus der Quelle zu verstehen, aber es sieht so aus, als ob es etwas komplizierter ist, als alle HTML zu strippen, obwohl das der Codex sagt. Ich denke, dass die kses-functionen teuer sind, also frage ich mich, warum nicht strip_tags verwenden, wenn es nur den HTML-Code entkleidet.

Solutions Collecting From Web of "Was ist der Unterschied zwischen strip_tags und wp_filter_nohtml_kses?"

Technischer Unterschied ist irgendwie offensichtlich. PHP One ist eine einzelne function, die Logik in PHP-Code verwendet. WP one ist eine Familie von functionen, basierend auf der KSES-Bibliothek von Drittanbietern.

Gibt es einen praktischen Unterschied zwischen diesen beiden spezifischen functionen? Ich denke, der wichtige Punkt ist, dass strip_tags() für den Nutzen gemacht wurde , während KSES für die Sicherheit gemacht wurde .

Obwohl die Ergebnisse in den meisten Fällen wahrscheinlich nahe beieinander liegen würden, würde ich erwarten, dass die KSES-Implementierung langsamer und gründlicher verläuft .


Ich habe einen Vergleich von HTML-Filtern auf der HTML-Purifier-Seite gemacht . Es folgt ein Auszug der strip_tags() von strip_tags() und kses (Original, nicht WP-Version) (dort gibt es mehr):

 +------------+------------+---------+-------------+---------+------------+--------------------------+ | Library | Whitelist | Removal | Well-formed | Nesting | Attributes | XSS safe | Standards safe | +------------+------------+---------+-------------+---------+------------+----------+----------------+ | strip_tags | Yes (user) | Buggy | No | No | No | No | No | | kses | Yes (user) | Yes | No | No | Partial | Probably | No | +------------+------------+---------+-------------+---------+------------+----------+----------------+