Посчитать время чтения текста

/**
 * Рассчитывает время чтения текста
 *
 * @param string $text Исходный текст статьи
 * @param int $wordsPerMinute Скорость чтения (слов в минуту)
 *
 * @return string Отформатированная строка с временем чтения
 *
 * // Пример использования
 * $articleContent = '<h1>Заголовок статьи</h1><p>Это пример содержания вашей статьи...</p>';
 * $readingTime = calculateReadingTime($articleContent);
 *
 * Echo "Время чтения: {$readingTime}";
 */
public static function calculateReadingTime(string $text, int $wordsPerMinute = 200): string {
    // Удаляем HTML-теги и лишние пробелы
    $cleanText = trim(strip_tags($text));

    // Если текст пустой
    if (empty($cleanText)) {
        return "меньше минуты";
    }

    // Подсчет слов (учитываем кириллицу, латиницу и цифры)
    $words = preg_split('/\s+/u', $cleanText, -1, PREG_SPLIT_NO_EMPTY);
    $wordCount = count($words);

    // Расчет минут
    $minutes = (int) max(1, ceil($wordCount / $wordsPerMinute));

    // Склонение слова "минута"
    /*$lastDigit = $minutes % 10;
    $lastTwoDigits = $minutes % 100;

    if ($lastTwoDigits >= 11 && $lastTwoDigits <= 19) {
        $form = 'минут';
    } elseif ($lastDigit === 1) {
        $form = 'минута';
    } elseif ($lastDigit >= 2 && $lastDigit <= 4) {
        $form = 'минуты';
    } else {
        $form = 'минут';
    }*/

    // Или
    $form = 'мин';

    return "{$minutes} {$form}";
}