Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Определение грамматического числа слов
Форумы портала PHP.SU » » Вопросы новичков » Определение грамматического числа слов

Страниц (1): [1]
 

1. x-miller-x - 12 Января, 2017 - 04:52:32 - перейти к сообщению
Есть ли функция/библиотека для определения грамматического числа, множественное число это слово или единственное число

Есть вот это
http://phpmorphy[dot]sourceforge[dot]net/dokuwiki/

но, тут одна проблема. делаю так:

PHP:
скопировать код в буфер обмена
  1.  
  2. $word = 'Луки'
  3. $paradigms = $morphy->findWord(mb_strtoupper($word, 'UTF-8')))
  4. foreach ($paradigms as $p => $paradigm){
  5.         $wordsInfo[$w][] = $paradigm->getFoundWordForm()[0]; // Сохраняем все парадигмы для словоформы
  6. }
  7.  
  8. foreach ($wordsInfo as $n => $wordInfo) {
  9.                         if(!empty($wordInfo)){
  10.                                 $chislo = false;
  11.                                 if($wordInfo[0]->hasGrammems(['МН'])){
  12.                                         $chislo = 'МН';
  13.                                 } else if($wordInfo[0]->hasGrammems(['ЕД'])){
  14.                                         $chislo = 'ЕД';
  15.                                 }
  16. .....
  17.  


таким образом можно определить только число первой найденной формы из $wordsInfo , а надо введенного слова $word, из примера первая форма Лука и соответственно выбирается единственное
число, а не множественное

 

Powered by ExBB FM 1.0 RC1