Перейти к основному содержанию

Склонение по падежам на php

Отправлено said от пт, 04/28/2017 - 18:37

Используем phpmorphy
Скачиваем библиотеку и словари http://phpmorphy.sourceforge.net/dokuwiki/download
Читаем документацию http://phpmorphy.sourceforge.net/dokuwiki/manual

$path = '<путь до директории с библиотекой>';
require_once($path . '/src/common.php');
//словари
$dir = $path . '/dicts';
$lang = 'ru_RU';
$opts = array(
  'storage' => PHPMORPHY_STORAGE_FILE,
);
try {
  $morphy = new phpMorphy($dir, $lang, $opts);
} catch(phpMorphy_Exception $e) {
  die('Error occured while creating phpMorphy instance: ' . $e->getMessage());
}
$paradigms = $morphy->findWord('КРАСНОДАР');
$paradigms->getByPartOfSpeech('С'); // только существительные
foreach ($paradigms as $paradigm) {
  foreach($paradigm as $form) {
    // только в родительском падеже и единственном числе (подробнее опции http://phpmorphy.sourceforge.net/dokuwiki/manual-graminfo)
    if(!$form->hasGrammems('РД') || !$form->hasGrammems('ЕД'))
      continue;
    print $form->getWord(); // КРАСНОДАРА
  }
}

 

Теги