Question

I'm having problems setting htmlPurifier to allow (not filter out) the accepted css styles.

php code:

$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);

Input text (tinyMCE output):

<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>

Actual Output:

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

Expected Output:

<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>

Any help or comment would be appreciated!!

Was it helpful?

Solution

Turn off magic quotes. (This space intentionally left blank.)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top