Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.11.x will end 14 Nov 2022 (12 months plus 6 months extension).
  • Bug fixes for security issues in 3.11.x will end 13 Nov 2023 (18 months plus 12 months extension).
  • PHP version: minimum PHP 7.3.0 Note: minimum PHP version has increased since Moodle 3.10. PHP 7.4.x is supported too.
   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