Inheritance: extends HTMLPurifier_AttrDef
Example #1
0
 public function test_make()
 {
     $factory = new HTMLPurifier_AttrDef_HTML_Pixels();
     $this->def = $factory->make('30');
     $this->assertDef('25');
     $this->assertDef('35', '30');
 }
Example #2
0
 /**
  * @param string $string
  * @param HTMLPurifier_Config $config
  * @param HTMLPurifier_Context $context
  * @return bool|string
  */
 public function validate($string, $config, $context)
 {
     $string = trim($string);
     if ($string === '') {
         return false;
     }
     $parent_result = parent::validate($string, $config, $context);
     if ($parent_result !== false) {
         return $parent_result;
     }
     $length = strlen($string);
     $last_char = $string[$length - 1];
     if ($last_char !== '%') {
         return false;
     }
     $points = substr($string, 0, $length - 1);
     if (!is_numeric($points)) {
         return false;
     }
     $points = (int) $points;
     if ($points < 0) {
         return '0%';
     }
     if ($points > 100) {
         return '100%';
     }
     return (string) $points . '%';
 }