Ver Mensaje Individual
  #4 (permalink)  
Antiguo 08/10/2020, 12:39
Avatar de Triby
Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 7 meses
Puntos: 2237
Respuesta: Acortar texto en cadena sin cortar palabra

Suponiendo que ya verificaste que es más larga de lo que debería, una aproximación puede ser:

Código PHP:
Ver original
  1. // Cortar cadena por la longitud máximam para qué el  +1?
  2. $cadena = substr ( $cadena, 0, $longitud + 1 );
  3.  
  4. // Buscar el último espacio
  5. $espacio = strrpos($cadena, ' ');
  6.  
  7. // Cortar la cadena en donde aparece el espacio
  8. $cadena = substr ( $cadena, 0, $espacio );

Nota que se usa strrpos, es decir, str reverse position : https://www.php.net/manual/es/function.strrpos.php

Cosas que pueden fallar:
- Que no existan espacios (¿?)
- Que al final aparezca un espacio, necesitarías cambiar el último parámetro a $espacio - 1
- No hay control de entidades como  
__________________
- León, Guanajuato
- GV-Foto