SilverStripe: Truncate/Strip Text
public function DescriptionExcerpt($length = 300) {
$text = strip_tags($this->Description);
$length = abs((int)$length);
if(strlen($text) > $length) {
$text = preg_replace("/^(.{1,$length})(\s.*|$)/s", '\\1 ...', $text);
}
return $text;
}