Категории

PHP » Время чтения публикации

Встречали в блогах указание времени чтения публикации? Пример реализации.
//Из Википедии берем среднюю скорость чтения (201 слово в минуту).
$words_in_minute = 201;

//Получаем количество слов в тексте
$charlist = "АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя";
$count_words = str_word_count(strip_tags($post->post_content), 0, $charlist);

//Получаем минуты
$m = floor($count_words / $words_in_minute);
//Получаем секунды
$s = floor($count_words % $words_in_minute / ($words_in_minute / 60));

//getNumEnding - Функция возвращает окончание для множественного числа слова на основании числа
$result = $m.' '.getNumEnding($m, ['минута', 'минуты', 'минут']).' '.$s.' '.getNumEnding($s, ['секунда', 'секунды', 'секунд']);
if ($m < 1) $result = $s.' '.getNumEnding($s, ['секунда', 'секунды', 'секунд']);

echo 'Время чтения: '.$result;