Ratibor |
|
---|---|
Предлагаю прекратить зоопарк с окончаниями.
Пример: Найдено 1 совпадений Добавить в function.php(или еще куда): // Функция предназначена для вывода численных результатов с учетом // склонения слов, например: "1 ответ", "2 ответа", "13 ответов" и т.д. // // $digit — целое число // можно вместе с форматированием, например "<b>6</b>" // // $expr — массив, например: array("ответ", "ответа", "ответов"). // можно указывать только первые 2 элемента, например для склонения английских слов // (в таком случае первый элемент - единственное число, второй - множественное) // // $onlyword - если true, то выводит только слово, без числа // необязательный параметр function declension($digit,$expr,$onlyword=false) { if(empty($expr[2])) $expr[2]=$expr[1]; $i=preg_replace('/[^0-9]+/s','',$digit)%100; //intval не всегда корректно работает if($onlyword) $digit=''; if($i>=5 && $i<=20) $res=$digit.' '.$expr[2]; else { $i%=10; if($i==1) $res=$digit.' '.$expr[0]; elseif($i>=2 && $i<=4) $res=$digit.' '.$expr[1]; else $res=$digit.' '.$expr[2]; } return trim($res); } Пример использования: echo 'Мне уже '.declension('<b>17</b>',array('год','года','лет')).'!'; // выведет «Мне уже <b>17</b> лет!»Код не мой, нашел в закромах инета. Не задавай глупых вопросов, не услышишь вранья.
|