Io ho sempre usato substr come detto sopra.

Codice PHP:
$troncata = (strlen($stringa) > 27) ? substr($stringa,0,27)."..." $stringa