根据
strip_tags
文档,第二个参数采用允许的标记.但在我的情况下,我想反过来.假设我接受script_tags通常(默认)接受的标签,但只删除< script>标签.有什么办法吗?
我并不是指有人为我编码,而是非常感谢如何实现这一点(如果可能的话)的可能方式的输入.
编辑
要使用HTML Purifier HTML.ForbiddenElements配置指令,您似乎会执行以下操作:
require_once '/path/to/HTMLPurifier.auto.PHP'; $config = HTMLPurifier_Config::createDefault(); $config->set('HTML.ForbiddenElements',array('script','style','applet')); $purifier = new HTMLPurifier($config); $clean_html = $purifier->purify($dirty_html);
HTML.ForbiddenElements should be set to an array
.我不知道的是数组成员应采取的形式:
array('script','applet')
要么:
array('<script>','<style>','<applet>')
或者是其他东西?
我认为这是第一种形式,没有分隔符; HTML.AllowedElements
使用了一种与TinyMCE’s valid elements
syntax有些共同的配置字符串形式:
tinyMCE.init({ ... valid_elements : "a[href|target=_blank],strong/b,div[align],br",... });
所以我猜这只是一个术语,不应该提供任何属性(因为你禁止元素……虽然也有HTML.ForbiddenAttributes
).但这是猜测.
我还将从HTML.ForbiddenAttributes文档中添加此注释:
Warning: This directive complements
%HTML.ForbiddenElements
,
accordingly,check out that directive for a discussion of why you
should think twice before using this directive.
黑名单不像白名单那样“强大”,但您可能有自己的理由.请注意并小心.
没有测试,我不知道该告诉你什么.我会继续寻找答案,但我可能会先上床睡觉.现在已经很晚了. 原文链接:https://www.f2er.com/php/240153.html