Las otras respuestas que muestran cómo se puede hacer que el texto aproximadamente 340 caracteres. Si eso está bien para ti, entonces usa una de las otras respuestas.
Pero si quiere un muy estricto máximo de 340 caracteres, las otras respuestas no funcionarán. Debe recordar que agregar '...'
puede aumentar la longitud de la cadena y debe tenerlo en cuenta.
$max_length = 340;
if (strlen($s) > $max_length)
{
$offset = ($max_length - 3) - strlen($s);
$s = substr($s, 0, strrpos($s, ' ', $offset)) . '...';
}
Tenga en cuenta también que aquí estoy usando la sobrecarga de strrpos
que lleva un desplazamiento para iniciar la búsqueda directamente desde la ubicación correcta en la cadena, en lugar de primera acortamiento de la cadena.
ver su funcionamiento en línea: ideone
¿Qué te gustaría hacer? si el usuario ingresa una sola palabra con una longitud de 341 caracteres (sin espacios en absoluto en la publicación)? –