Вход Регистрация
Файл: classes/htmlpurifier/HTMLPurifier/AttrDef/CSS/Percentage.php
Строк: 62
<?php

/**
 * Validates a Percentage as defined by the CSS spec.
 */
class HTMLPurifier_AttrDef_CSS_Percentage extends HTMLPurifier_AttrDef
{

    
/**
     * Instance to defer number validation to.
     * @type HTMLPurifier_AttrDef_CSS_Number
     */
    
protected $number_def;

    
/**
     * @param bool $non_negative Whether to forbid negative values
     */
    
public function __construct($non_negative false)
    {
        
$this->number_def = new HTMLPurifier_AttrDef_CSS_Number($non_negative);
    }

    
/**
     * @param string $string
     * @param HTMLPurifier_Config $config
     * @param HTMLPurifier_Context $context
     * @return bool|string
     */
    
public function validate($string$config$context)
    {
        
$string $this->parseCDATA($string);

        if (
$string === '') {
            return 
false;
        }
        
$length strlen($string);
        if (
$length === 1) {
            return 
false;
        }
        if (
$string[$length 1] !== '%') {
            return 
false;
        }

        
$number substr($string0$length 1);
        
$number $this->number_def->validate($number$config$context);

        if (
$number === false) {
            return 
false;
        }
        return 
"$number%";
    }
}

// vim: et sw=4 sts=4
Онлайн: 2
Реклама