В итоге Sander подсказал вот такую штуку:
/**
* Функция для установки правильного окончания слов
* @param int $n - число, для которого будет расчитано окончание
* @param string $words - варианты окончаний для (1 комментарий, 2 комментария, 100 комментариев)
* @return string - слово с правильным окончанием
*/
function wordsSpan($n = 0, $words) {
$words = explode('|', $words);
$n = intval($n);
return $n%10==1&&$n%100!=11?$words[0].$words[1]:($n%10>=2&&$n%10<=4&&($n%100<10||$n%100>=20)?$words[0].$words[2]:$words[0].$words[3]);
}
// Пример работы
for ($total=0; $total < 102; $total++) {
echo 'Всего: '.$total.' '.wordsSpan($total,'комментари|й|я|ев').'<br />';
}
// Вариант с подключением в DLE
// {include file="engine/modules/wordspan.php?n=7&words=комментари|й|я|ев"}