Suponiendo que ya verificaste que es más larga de lo que debería, una aproximación puede ser:
Código PHP:
Ver original// Cortar cadena por la longitud máximam para qué el +1?
$cadena = substr ( $cadena, 0, $longitud + 1 );
// Buscar el último espacio
// Cortar la cadena en donde aparece el espacio
$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