Склонение слов по падежам на php
У Яндекса есть очень удобный api сервис, который может трансформировать любое слово, или даже несколько слов, во все падежи. Воспользоваться сервисом очень просто, достаточно сделать запрос по адресу
export.yandex.ru/inflect.xml?name=СЛОВО — в ответ будет получен xml со всеми склонениями слова.
Ниже я привел функцию, которая работает с api Яндекса и возвращает нужную форму слова.
Код функции:
/**
* Склонение слов по падежам. С использованием api Яндекса
* @var string $text - текст
* @var integer $numForm - нужный падеж. Число от 0 до 5
*
* @return - вернет false при неудаче. При успехе вернет нужную форму слова
*/
function getNewFormText($text, $numForm){
$urlXml = "http://export.yandex.ru/inflect.xml?name=".urlencode($text);
$result = @simplexml_load_file($urlXml);
if($result){
$arrData = array();
foreach ($result->inflection as $one) {
$arrData[] = (string) $one;
}
return $arrData[$numForm];
}
return false;
}
И пример использования функции:
$text = "любой текст";
echo "Именительный падеж : " . getNewFormText($text, 0) . "<br/>";
echo "Родительный падеж : " . getNewFormText($text, 1) . "<br/>";
echo "Дательный падеж : " . getNewFormText($text, 2) . "<br/>";
echo "Винительный падеж : " . getNewFormText($text, 3) . "<br/>";
echo "Творительный падеж : " . getNewFormText($text, 4) . "<br/>";
echo "Предложный падеж : " . getNewFormText($text, 5) . "<br/>";
Комментарии:
Нету комментариев для вывода...