/** * Проверяет в верхнем ли регистре находится строка * @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); } } }