【发布时间】:2014-06-04 12:06:24
【问题描述】:
这是我长期以来一直遇到的问题 - 我目前接受来自用户的完整 html 页面作为输入,并希望过滤/清除它。 HTMLpurifier 的问题在于它删除了 head 、 html 和 body 标签 - 以及 head 中的样式。我已经 google 了,查看了论坛,尝试实现所写的内容,但没有运气。有人可以帮忙吗?
我想要什么:保留 HTML 、 HEAD 、 STYLE 、 BODY TAGS
我做了什么:
$config->set('HTML.DefinitionID', 'test');
$config->set('HTML.DefinitionRev', 1);
$config->set('HTML.AllowedElements', array('html','head', 'body', 'style', 'div', 'p'));
if ($def = $config->maybeGetRawHTMLDefinition()) {
$def->addElement('html', 'Block', 'Inline', 'Common', array());
$def->addElement('head', 'Block', 'Inline', 'Common', array());
$def->addElement('style', 'Block', 'Inline', 'Common', array());
$def->addElement('body', 'Block', 'Inline', 'Common', array());
}
【问题讨论】:
-
您基本上需要更改白名单以允许更多内容。你读过htmlpurifier.org/docs#toclink1吗?
-
净化器去除了一些东西,但你没有说你想用它去除什么以及你期望的结果是什么。请澄清您的问题并向我们展示您的尝试。
-
已添加,以上是我目前使用的方法
标签: php html htmlpurifier