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; }