[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/libraries/htmlpurifier/library/HTMLPurifier/AttrDef/URI/ -> IPv4.php (source)

   1  <?php
   2  
   3  /**
   4   * Validates an IPv4 address
   5   * @author Feyd @ forums.devnetwork.net (public domain)
   6   */
   7  class HTMLPurifier_AttrDef_URI_IPv4 extends HTMLPurifier_AttrDef
   8  {
   9  
  10      /**
  11       * IPv4 regex, protected so that IPv6 can reuse it
  12       */
  13      protected $ip4;
  14  
  15      public function validate($aIP, $config, $context) {
  16  
  17          if (!$this->ip4) $this->_loadRegex();
  18  
  19          if (preg_match('#^' . $this->ip4 . '$#s', $aIP))
  20          {
  21                  return $aIP;
  22          }
  23  
  24          return false;
  25  
  26      }
  27  
  28      /**
  29       * Lazy load function to prevent regex from being stuffed in
  30       * cache.
  31       */
  32      protected function _loadRegex() {
  33          $oct = '(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])'; // 0-255
  34          $this->ip4 = "(?:{$oct}\\.{$oct}\\.{$oct}\\.{$oct})";
  35      }
  36  
  37  }
  38  
  39  // vim: et sw=4 sts=4


Generated: Fri Nov 28 20:08:37 2014 Cross-referenced by PHPXref 0.7.1