HtmlPurifier为一个标记添加不支持的样式表

时间:2015-02-04 08:26:04

标签: htmlpurifier

我使用HTMLPurifier 4.6.0来过滤HTML。我的HTML有这一行:

<pre style="overflow-x: scroll; word-wrap: normal; white-space: pre;">

提交后,它已被截断:

<pre style="white-space: pre;">

我想仅允许&lt; pre&gt; style&#34; overflow-x:scroll&#34;和&#34;自动换行:正常&#34;。

我找到了这个页面http://htmlpurifier.org/docs/enduser-customize.html并尝试了:

    $config->set('HTML.DefinitionID', 'enduser-customize.html');
    $config->set('HTML.DefinitionRev', 1);
    $config->set('Cache.DefinitionImpl', null); // TODO: remove this later!
    if ($def = $config->maybeGetRawHTMLDefinition()) {
        $def->addAttribute('pre', 'style', 'overflow-x');
    }

我在设置addAttribute()时遇到问题。有人可以帮我吗?谢谢!

1 个答案:

答案 0 :(得分:0)

我找到了一个使用此设置的解决方案:

$css = $config->getCSSDefinition();
$css->info['overflow-x'] = new HTMLPurifier_AttrDef_Enum(array('scroll'));
$css->info['word-wrap'] = new HTMLPurifier_AttrDef_Enum(array('normal'));