min = $min !== null ? HTMLPurifier_Length::make ( $min ) : null; $this->max = $max !== null ? HTMLPurifier_Length::make ( $max ) : null; } /** * * @param string $string * @param HTMLPurifier_Config $config * @param HTMLPurifier_Context $context * @return bool|string */ public function validate($string, $config, $context) { $string = $this->parseCDATA ( $string ); // Optimizations if ($string === '') { return false; } if ($string === '0') { return '0'; } if (strlen ( $string ) === 1) { return false; } $length = HTMLPurifier_Length::make ( $string ); if (! $length->isValid ()) { return false; } if ($this->min) { $c = $length->compareTo ( $this->min ); if ($c === false) { return false; } if ($c < 0) { return false; } } if ($this->max) { $c = $length->compareTo ( $this->max ); if ($c === false) { return false; } if ($c > 0) { return false; } } return $length->toString (); } } // vim: et sw=4 sts=4