My try to breaking without split words
function summary($posttext, $limit = 60){
if( strlen( $posttext ) < $limit ) {
return $posttext;
}
$offset = 0;
$split = explode(" ", $posttext);
for($x = 0; $x <= count($split); $x++){
$word = $split[$x];
$offset += strlen( $word );
if( ($offset + ($x + 1)) >= $limit ) {
return substr($posttext, 0, $offset + $x) . '...';
}
}
return $posttext;
}