See Release Notes
Long Term Support Release
1 <?php 2 3 /** 4 * Validates a Percentage as defined by the CSS spec. 5 */ 6 class HTMLPurifier_AttrDef_CSS_Percentage extends HTMLPurifier_AttrDef 7 { 8 9 /** 10 * Instance to defer number validation to. 11 * @type HTMLPurifier_AttrDef_CSS_Number 12 */ 13 protected $number_def; 14 15 /** 16 * @param bool $non_negative Whether to forbid negative values 17 */ 18 public function __construct($non_negative = false) 19 { 20 $this->number_def = new HTMLPurifier_AttrDef_CSS_Number($non_negative); 21 } 22 23 /** 24 * @param string $string 25 * @param HTMLPurifier_Config $config 26 * @param HTMLPurifier_Context $context 27 * @return bool|string 28 */ 29 public function validate($string, $config, $context) 30 { 31 $string = $this->parseCDATA($string); 32 33 if ($string === '') { 34 return false; 35 } 36 $length = strlen($string); 37 if ($length === 1) { 38 return false; 39 } 40 if ($string[$length - 1] !== '%') { 41 return false; 42 } 43 44 $number = substr($string, 0, $length - 1); 45 $number = $this->number_def->validate($number, $config, $context); 46 47 if ($number === false) { 48 return false; 49 } 50 return "$number%"; 51 } 52 } 53 54 // vim: et sw=4 sts=4
title
Description
Body
title
Description
Body
title
Description
Body
title
Body