2011-11-13 39 views
1

我想确保我的HTML过滤除去这些以外的所有元素:HTML净化滤芯

BR,一,IMG,DIV,嵌入,对象,U,EM,UL,醇,李,强,范围

这些元素将具有许多属性。

我该怎么办?

我以为在进入净化器之前使用strip_tags。

我的代码:

$config = HTMLPurifier_Config::createDefault(); 
    $config->set('Attr.AllowedFrameTargets', array('_blank')); 
    $config->set('HTML.SafeObject', true); 
    $config->set('Output.FlashCompat', true); 
    $config->set('HTML.SafeEmbed', true); 

    $purifier = new HTMLPurifier($config); 

回答

2

你可以这样做:

$ValidTags = '*[id|class|name],br,a[href|title|rel|target],' . 
'img[src|alt|height|width],div,embed,' . 
'object,u,em,ul,ol,li,strong,span'; 
$config->set('HTML.Allowed', $ValidTags); 

注意*[id|class|name]意味着你允许所有接受标签的属性ID,类名(这通常是有用的)。