HTMLPurifier 4.4.0
|
00001 <?php 00002 00007 class HTMLPurifier_AttrTransform_EnumToCSS extends HTMLPurifier_AttrTransform { 00008 00012 protected $attr; 00013 00017 protected $enumToCSS = array(); 00018 00024 protected $caseSensitive = false; 00025 00031 public function __construct($attr, $enum_to_css, $case_sensitive = false) { 00032 $this->attr = $attr; 00033 $this->enumToCSS = $enum_to_css; 00034 $this->caseSensitive = (bool) $case_sensitive; 00035 } 00036 00037 public function transform($attr, $config, $context) { 00038 00039 if (!isset($attr[$this->attr])) return $attr; 00040 00041 $value = trim($attr[$this->attr]); 00042 unset($attr[$this->attr]); 00043 00044 if (!$this->caseSensitive) $value = strtolower($value); 00045 00046 if (!isset($this->enumToCSS[$value])) { 00047 return $attr; 00048 } 00049 00050 $this->prependCSS($attr, $this->enumToCSS[$value]); 00051 00052 return $attr; 00053 00054 } 00055 00056 } 00057 00058 // vim: et sw=4 sts=4