/** * @param string $word * @param phpMorphy_WordForm_WordFormInterface $patternWord * @param string $additionalCommonPrefix * @return string */ protected function getBaseStringByTemplateWord($word, phpMorphy_WordForm_WordFormInterface $patternWord, $additionalCommonPrefix) { $pattern_prefix = $patternWord->getPrefix(); $pattern_suffix = $patternWord->getSuffix(); $prefix = substr($word, 0, strlen($pattern_prefix)); $suffix = $pattern_suffix !== "" ? substr($word, -strlen($pattern_suffix)) : ''; if ($prefix !== $pattern_prefix || $suffix !== $pattern_suffix) { return false; } $prefix_len = strlen($prefix) + strlen($additionalCommonPrefix); return $suffix !== "" ? substr($word, $prefix_len, -strlen($suffix)) : substr($word, $prefix_len); }
function printWordForm(phpMorphy_WordForm_WordFormInterface $form) { echo $form->getWord(), ' [', $form->getCommonPrefix(), self::COMMON_PREFIX_SEPARATOR, $form->getPrefix(), self::PREFIX_SEPARATOR, $form->getBase(), self::SUFFIX_SEPARATOR, $form->getSuffix(), '] (', $form->getPartOfSpeech(), ' ', implode(',', $form->getCommonGrammems()), self::COMMON_GRAMMEMS_SEPARATOR, implode(',', $form->getFormGrammems()), ')'; }