2013-07-05 3 views
1

Как разрешить borderRadius с htmlpurifier?htmlpurifier with borderRadius

Я нашел это, но он, похоже, не работает с текущей версией htmlpurifier, возможно, они изменили способ добавления собственного css?

http://htmlpurifier.org/phorum/read.php?2,6154,6154

$config = HTMLPurifier_Config::createDefault(); 

    // add some custom CSS3 properties                                    
    $css_definition = $config->getDefinition('CSS'); 

    $border_radius = 
    $info['border-top-left-radius'] = 
    $info['border-top-right-radius'] = 
    $info['border-bottom-left-radius'] = 
    $info['border-bottom-right-radius'] = 
    new HTMLPurifier_AttrDef_CSS_Composite(array(
              new HTMLPurifier_AttrDef_CSS_Length('0'), 
              new HTMLPurifier_AttrDef_CSS_Percentage(true) 
              )); 

    $info['border-radius'] = new HTMLPurifier_AttrDef_CSS_Multiple($border_radius); 

    // wrap all new attr-defs with decorator that handles !important                             
    $allow_important = $config->get('CSS.AllowImportant'); 
    foreach ($info as $k => $v) { 
    $css_definition->info[$k] = new HTMLPurifier_AttrDef_CSS_ImportantDecorator($v, $allow_important); 
    } 

    $html_purifier = new HTMLPurifier($config); 

ответ

1

Я раздвоенным оригинальный репозиторий и дополнительные функциональные возможности для радиуса границы в функции очистки, код здесь

https://github.com/msvensson82/htmlpurifier

Я в основном только что добавили это к CSSDefinition. php, если вы хотите внести изменения в свой аккаунт вместо получения моего репо.

// border-radius 
$border_radius = 
$this->info['border-top-left-radius'] = 
$this->info['border-top-right-radius'] = 
$this->info['border-bottom-left-radius'] = 
$this->info['border-bottom-right-radius'] = new HTMLPurifier_AttrDef_CSS_Composite(array(
new HTMLPurifier_AttrDef_CSS_Length('0'), 
new HTMLPurifier_AttrDef_CSS_Percentage(true) 
)); 
$this->info['border-radius'] = new HTMLPurifier_AttrDef_CSS_Multiple($border_radius); 
Смежные вопросы