Claro
Te explico lo que hace el código:
Comienza a recorrer la cadena caracter por caracter pero al reves, comenzando desde el ultimo caracter,
cortándo la cadena la longitud que deseas, por ejemplo, en el código:
Texto de ejemplo, uso de subst
Para evitar que suceda ésto, el bucle
for busca la primera aparación de espacio, una vez lo encuentra,
el counter queda en el número del caracter que es espacio (en el ejemplo queda en el caracter 25).
Ahora, el substr queda como
substr($texto, 0, 25)
Saludos!
PD: Lo de los tres punto es lo más fácil, investiga sobre
concatenación