<MyRusakov.ru />

Создание крупного проекта на Java с нуля

Создание крупного проекта на Java с нуля

Данный курс научит Вас создавать крупные проекты на Java грамотно и быстро. В курсе Вы увидите создание большой и сложной программы на Java абсолютно с нуля.

В начале курса у нас будет только идея, а в конце готовый продукт, который можно использовать в практических целях.

В рамках упражнений курса Вы параллельно со мной будете создавать свою большую программу на Java, что даст Вам необходимую практику, после которой для Вас уже не будет разницы, какого размера создавать программы.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

Склонение по падежам
10.08.2012 06:53:50 Склонение по падежам Сообщение #1
neve4

neve4

Эксперт

Эксперт

Дата регистрации:
11.02.2012 23:45:14

Сообщений: 92

Я столкнулся с проблемой для соц.сети, при выводе статуса отношений у меня выводится жената на Кирилл Алексеев (к примеру).
Я не могу сделать чтобы имя и фамилия склонялись по падежам. Ребята помогите очень надо, у меня у же почти сайт готов а с такой ошибкой будет очень плохо(
Профиль Ответить
10.08.2012 13:39:36 Склонение по падежам Сообщение #2
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Это не простая задача. Я с этим не сталкивался раньше, но тут явно дело не ограничиться простым дополнением правильных окончаний к словам. Разные имена будут склоняться по-разному, а уж фамилии тем более. Попробуйте лучше поискать готовые решения.
Профиль Ответить
11.08.2012 21:12:49 Склонение по падежам Сообщение #3
neve4

neve4

Эксперт

Эксперт

Дата регистрации:
11.02.2012 23:45:14

Сообщений: 92

все я нашел кому понадобиться вот функция
1 параметром мы передаем слово и несколько слов (Имя Фамилия)
2 параметром мы передаем номер падежа от 1-6
function get_declination_user($text_for_decl = '', $decl_num = 1) {

if( !empty($text_for_decl) ) {

$xml = simplexml_load_file("http://export.yandex.ru/inflect.xml?name=" . $text_for_decl);
$nodes = $xml->inflection;
$i = 1;
foreach($nodes as $node) {

if($i == $decl_num)
return $node;
else
$i++;
}
}
return $text_for_decl;
}


только у меня теперь другая проблема(
в базе находятся все на кодировки utf-8 (каракули) и когда я передаю имя в функцию оно у меня выводиться каракулями. а все остальное нормально! что тут нужно изменить что-бы возвращалось переведенное?! помогите пожалуйста я с этими склонениями скоро с ума сойду(
Профиль Ответить
11.08.2012 22:32:51 Склонение по падежам Сообщение #4
neve4

neve4

Эксперт

Эксперт

Дата регистрации:
11.02.2012 23:45:14

Сообщений: 92

все уже не надо, только вспомнил про функцию iconv
Профиль Ответить
26.10.2012 20:58:41 Склонение по падежам Сообщение #5
Default

Default

Эксперт

Эксперт

Дата регистрации:
12.06.2012 15:20:27

Сообщений: 102

А регулярными выражениями можно использовать? например зная то что все фамилии с окончанием мягкого знака и фамилии с окончанием КО они не склоняются, ХЛАНЬ, ШЕВЧЕНКО, все фамилии с окончанием ОЙ склоняются на окончание ЫМ например ВОРОНОЙ - ВОРОНЫМ, ВЫСТАВНОЙ - ВЫСТАВНЫМ, окончание на ИЙ - ИМ, к окончанием фамилий ОВ ,ИН, добавляется ЫМ и т.д., а с именами вроде еще проще
Профиль Ответить
27.10.2012 06:00:16 Склонение по падежам Сообщение #6
neve4

neve4

Эксперт

Эксперт

Дата регистрации:
11.02.2012 23:45:14

Сообщений: 92

да начал писать скприпт. ну только часть сделал.к
Профиль Ответить
27.10.2012 18:12:51 Склонение по падежам Сообщение #7
Default

Default

Эксперт

Эксперт

Дата регистрации:
12.06.2012 15:20:27

Сообщений: 102

Михаил, читал Вашу статью о Склонение слов на PHP и решил сделать что-то подобное сам с использованием рег.выражений(как раз пытаюсь их применять и изучать)

function getLastVisit($time, $array_text){

function getHtmlText($text_1, $text_2){

return "<p><u>Последний визит ".$text_1." ".$text_2." назад</u></p>";

}

if(preg_match("/[^1-4][0-9]?$/", $time)){

return getHtmlText($time, $array_text[0]);

}elseif(preg_match("/[^2-9][1]?$/", $time)){

return getHtmlText($time, $array_text[1]);

}else{

return getHtmlText($time, $array_text[2]);
}
}

$time - время в unix
$array_text - массив с 'секунд','секунду', 'секунды' (далее уже массив со склонением минут, часов, дней, месяцев и так далее)
Работает все не плохо, единственный недостаток - это когда дойдет до 11, 111, 1011 и так далее (секунд, минут и так далее), то выведет второе условие

elseif(preg_match("/[^2-9][1]?$/", $time)){

return getHtmlText($time, $array_text[1]);

как можно исправить это? конечно можно прописать еще одно условие типа

if(preg_match("/[1]??$/", $time))

но не хотелось бы
Профиль Ответить
05.11.2012 15:47:36 Склонение по падежам Сообщение #8
Default

Default

Эксперт

Эксперт

Дата регистрации:
12.06.2012 15:20:27

Сообщений: 102


function getLastVisit($a, $b){
function getHtmlText($c,$d){
return "<u>Последний визит ".$c." ".$d." назад</u>";
}
if(preg_match("/[1]{1}$/", $a)){

if(preg_match("/[^1]{1}[1]{1}$/", $a) or preg_match("/^[1]{1}$/", $a)){
return getHtmlText($a,$b[0]);
}elseif(preg_match("/[1]{2}$/",$a)){
return getHtmlText($a,$b[1]);
}

}elseif(preg_match("/[2-4]{1}$/",$a)){

if(preg_match("/[^1]{1}[2-4]{1}$/",$a) or preg_match("/^[2-4]{1}$/",$a)){
return getHtmlText($a,$b[2]);
}elseif(preg_match("/[1]{1}[2-4]{1}$/",$a)){
return getHtmlText($a,$b[1]);
}

}elseif(preg_match("/[^1-4]{1}/",$a)){
return getHtmlText($a,$b[1]);
}
Профиль Ответить