2013-02-06 42 views
2

我有问题,设置htmlPurifier以允许(不过滤)接受的CSS样式。无法让htmlpurifier允许一些tinymce样式通过

PHP代码:

$text = trim(html_entity_decode($text)); 
require_once("../htmlpurifier/library/HTMLPurifier.auto.php"); 
$config = HTMLPurifier_Config::createDefault(); 
$config->set('HTML.Allowed','p[style],ol[style],li[style],ul[style],b,u,strike,br,span[style]'); 
$config->set('CSS.AllowedProperties', array('text-decoration' => true,'font-family' => true,'font-size' => true,'text-align' => true,'padding-left' => true,'padding-right' => true,'padding-top' => true,'padding-bottom' => true,'color' => true,'background-color' => true)); 
$config->set('AutoFormat.RemoveEmpty', true); 
$config->set('URI.DisableExternalResources', true); 
$purifier = new HTMLPurifier($config); 
$text = $purifier->purify("".$text); 

输入文本(tinyMCE的输出):

<p style=\"text-align: left;\"> 
    <span style=\"font-family: arial, helvetica, sans-serif; font-size: small;\"> 
     Lorem ipsum dolor sit amet, conse\'ctetur adipiscing elit. Nunc sit amet ipsum pulvinar elit euismod porta. 
    </span> 
</p> 

实际输出:

<p> 
    <span> 
     Lorem ipsum dolor sit amet, conse\'ctetur adipiscing elit. Nunc sit amet ipsum pulvinar elit euismod porta. 
    </span> 
</p> 

期望输出:

<p style="text-align:left"> 
    <span style="font-family:arial, helvetica, sans-serif;font-size:small"> 
     Lorem ipsum dolor sit amet, conse'ctetur adipiscing elit. Nunc sit amet ipsum pulvinar elit euismod porta. 
    </span> 
</p> 

任何帮助或意见,将不胜感激!

回答

3

关闭魔术引号。 (这个空间特意留空。)

+0

谢谢你一个正确的答案......并让我觉得自己很蠢¬¬ – Manatax

+0

茅盾的忧虑,这是HTML过滤的头号支持问题;我已经高效地回答了它^^ –

+0

是的,GitHub的最小回答长度有点烦人。 –