Exemple #1
0
 /**
  * Проверяет в верхнем ли регистре находится строка
  * @param string $phrase строка
  * @return bool в верхнем ли регистре строка 
  */
 static function isUpperCase($phrase)
 {
     return $phrase == NCLStr::strtoupper($phrase);
 }
 /**
  * Возвращает все падежи слова в начальную маску:
  * - x - маленькая буква
  * - X - больная буква
  */
 private function returnMask()
 {
     if ($this->isUpperCase) {
         foreach ($this->NameCases as $index => $case) {
             $this->NameCases[$index] = NCLStr::strtoupper($this->NameCases[$index]);
         }
     } else {
         $splitedMask = $this->letterMask;
         $maskLength = count($splitedMask);
         foreach ($this->NameCases as $index => $case) {
             $caseLength = NCLStr::strlen($case);
             $max = min(array($caseLength, $maskLength));
             $this->NameCases[$index] = '';
             for ($letterIndex = 0; $letterIndex < $max; $letterIndex++) {
                 $letter = NCLStr::substr($case, $letterIndex, 1);
                 if ($splitedMask[$letterIndex] == 'X') {
                     $letter = NCLStr::strtoupper($letter);
                 }
                 $this->NameCases[$index] .= $letter;
             }
             $this->NameCases[$index] .= NCLStr::substr($case, $max, $caseLength - $maskLength);
         }
     }
 }