io mi sono scritto questa se può interessare:

codice:
function textpreview($text, $caratteri=50) {
  if(strlen($text)>$caratteri) {
    $newtext = wordwrap($text, $caratteri, "|");
    $nuovotesto=explode("|",$newtext);
     return $nuovotesto[0]."...";
  } else {
     return $text;
  }
}