This function will return the first n (the number you request) characters careful to not break in the middle of a word. getSummary is also removing html tags, trimming whitespace to improve accuracy, and adding an ellipsis at the end. At it’s core is the php built in function word_wrap that splits a string by a specified character which allows us to grab the 1st part.
public static function getSummary($text, $characters = 100){
	// remove any html tags
	$text = strip_tags($text);
	// remove empty space
	$text = trim($text);
	// remove new lines
	$text = str_replace("\n", ' ', $text);
	// word wrap does most of the work
	// puts newlines at breaks careful not to break words
	$text = wordwrap($text, $characters);
	$text = explode("\n", $text);
	// add ... to end
	$text = $text[0] . '...';
	return $text;
}
		
	