php – strip_tags禁止使用某些标签

前端之家收集整理的这篇文章主要介绍了php – strip_tags禁止使用某些标签前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
根据 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);

http://htmlpurifier.org/docs

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

猜你在找的PHP相关文章