Вот моя функция, основанная на подходе @ Cd-MaN.
function shorten($string, $width) { if(strlen($string) > $width) { $string = wordwrap($string, $width); $string = substr($string, 0, strpos($string, "\n")); } return $string; }