Prova così:
Codice PHP:
function TagliaStringa($stringa, $max_char){
if(strlen($stringa)>$max_char){
$stringa_tagliata=substr($stringa, 0,$max_char);
$last_space=strrpos($stringa_tagliata," ");
$stringa_ok=substr($stringa_tagliata, 0,$last_space);
return array_merge(array($stringa_ok), TagliaStringa(trim(substr($stringa, $last_space, strlen($stringa))), $max_char));
}else{
return array($stringa);
}
}
Comunque io rivedrei un po' la funzione: se hai una parola lunga più di $max_char (quindi $stringa_tagliata non contiene spazi) la tua funzione non va e questa funzione potrebbe finire in loop