Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 4.0.x will end 8 May 2023 (12 months).
  • Bug fixes for security issues in 4.0.x will end 13 November 2023 (18 months).
  • PHP version: minimum PHP 7.3.0 Note: the minimum PHP version has increased since Moodle 3.10. PHP 7.4.x is also supported.
   1  <?php
   2  
   3  namespace PhpOffice\PhpSpreadsheet\Helper;
   4  
   5  class Size
   6  {
   7      const REGEXP_SIZE_VALIDATION = '/^(?P<size>\d*\.?\d+)(?P<unit>pt|px|em)?$/i';
   8  
   9      /**
  10       * @var bool
  11       */
  12      protected $valid;
  13  
  14      /**
  15       * @var string
  16       */
  17      protected $size = '';
  18  
  19      /**
  20       * @var string
  21       */
  22      protected $unit = '';
  23  
  24      public function __construct(string $size)
  25      {
  26          $this->valid = (bool) preg_match(self::REGEXP_SIZE_VALIDATION, $size, $matches);
  27          if ($this->valid) {
  28              $this->size = $matches['size'];
  29              $this->unit = $matches['unit'] ?? 'pt';
  30          }
  31      }
  32  
  33      public function valid(): bool
  34      {
  35          return $this->valid;
  36      }
  37  
  38      public function size(): string
  39      {
  40          return $this->size;
  41      }
  42  
  43      public function unit(): string
  44      {
  45          return $this->unit;
  46      }
  47  
  48      public function __toString()
  49      {
  50          return $this->size . $this->unit;
  51      }
  52  }