= $threshold) { $remaining = $maxLength - $currentLength; return $remaining . ' ' . __('characters remaining'); } return ''; } /** * Get character counter text if above 75% of limit (strips HTML tags) * * @param string|null $text * @param int $maxLength * @param int|null $warnPercentage * @return string */ public function characterLeftCounterWithoutHtml(?string $text, int $maxLength, ?int $warnPercentage = null): string { $warnFactor = $warnPercentage ? $warnPercentage / 100 : 0.75; $plainText = strip_tags($text ?? ''); $currentLength = strlen($plainText); $threshold = (int) ($maxLength * $warnFactor); if ($currentLength >= $threshold) { $remaining = $maxLength - $currentLength; return $remaining . ' ' . __('characters remaining'); } return ''; } }