«Поле, русское поле...»
Склоняю сердитого к склонению
php функция склонения слов после числа
После непродолжительного изучения вопроса о том, как с помощью php научить слова склоняться после некоего числа, была подсмотрена и затем внедрена простая, но очень удобная функция, позволяющая глазам меньше страдать от конструкций вида "2 дней назад" или "21 просмотр(ы)" выдаваемых движком.

Код:
function ldu_decl($number, $titles)
    {
    $cases = array (2, 0, 1, 1, 1, 2);
    return $titles[($number % 100 > 4 && $number % 100 < 20) ? 2 : $cases[min($number % 10, 5)] ];
    }


Пример использования:

Код:
$num = 1;

$arr = array('улитку','улитки','улиток');

$res = "я сегодня разогнал ".$num ." ".ldu_decl($num, $arr);


Это уже работает на главной странице, в столбике "Что нового", в подвале сайта, в блоке "Кто тут?". Вот думаю теперь как это оформить плагином к русификации сердитого исправляющим проблему повсеместно.

[ написать отзыв ]
Ноябрь →
2010
вт
30
пн
вс
сб
пт
чт
ср
вт
пн
вс
сб
пт
19
чт
18
ср
17
вт
пн
15
вс
14
сб
13
пт
12
чт
11
ср
10