<MyRusakov.ru />

React JS, Redux, ES2015 с Нуля до Гуру

React JS, Redux, ES2015 с Нуля до Гуру

Данный курс - это обширный курс по JavaScript и фреймворку React, который позволит Вам с нуля создавать мощные современные, динамические JavaScript-приложения.

Вы узнаете о тонкостях работы с "профессиональным" JavaScript, а так же узнаете о нововведениях в его новый стандарт ES2015, Вы узнаете, как организовать профессиональное окружение для FrontEnd, изучите профессиональный фреймворк - ReactJS.

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

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

Подписавшись по 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]);
}
Профиль Ответить