Tienes primero que comprobar la longitud de la cadena con strlen() y aplicarla a travez de un if...else, luego tendrias que hacerle un substr() para recortar y al final ponerle los tres puntos y el enlace, no puedes dejar de hacer el if...else porque si no siempre te va a aparecer el enlace de mas aunque la cadena sea mas corta, el codigo enseguida:
Código PHP:
/*Suponiendo que tu cadena es una variable llamada $cadena*/
if(strlen($cadena) > 20){
$cadena = substr($cadena,0,20)."...";
}
Asi de facil :)
Saludos