registerArgument('maxCharacters', 'int', 'Positive int. Place where to truncate the string', true); } public function render(): string { $maxCharacters = (int)$this->arguments['maxCharacters']; $stringToCrop = (string)$this->renderChildren(); if ($maxCharacters <= 0) { return $stringToCrop; } $croppedString = mb_substr($stringToCrop, 0, $maxCharacters, 'utf-8'); if ($croppedString !== $stringToCrop) { return $croppedString . '…'; } return $stringToCrop; } }