973002c17f064c42cdfaa47dcd12f9cf27edc0f2
[yaffs-website] / vendor / ezyang / htmlpurifier / library / HTMLPurifier / AttrDef / CSS / Ident.php
1 <?php
2
3 /**
4  * Validates based on {ident} CSS grammar production
5  */
6 class HTMLPurifier_AttrDef_CSS_Ident extends HTMLPurifier_AttrDef
7 {
8
9     /**
10      * @param string $string
11      * @param HTMLPurifier_Config $config
12      * @param HTMLPurifier_Context $context
13      * @return bool|string
14      */
15     public function validate($string, $config, $context)
16     {
17         $string = trim($string);
18
19         // early abort: '' and '0' (strings that convert to false) are invalid
20         if (!$string) {
21             return false;
22         }
23
24         $pattern = '/^(-?[A-Za-z_][A-Za-z_\-0-9]*)$/';
25         if (!preg_match($pattern, $string)) {
26             return false;
27         }
28         return $string;
29     }
30 }
31
32 // vim: et sw=4 sts=4