Prova così:
Codice PHP:
function TagliaStringa($stringa$max_char){
   if(
strlen($stringa)>$max_char){
      
$stringa_tagliata=substr($stringa0,$max_char);
      
$last_space=strrpos($stringa_tagliata," ");
      
$stringa_ok=substr($stringa_tagliata0,$last_space);
      return 
array_merge(array($stringa_ok), TagliaStringa(trim(substr($stringa$last_spacestrlen($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