Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    funzione ricorsiva taglia stringa in array

    salve... ho questa funzione:
    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 
    $stringa_ok;
                    }else{
                            return 
    $stringa;
                    }
            } 
    questa funzione mi ritorna una sottostringa senza troncare le parole...

    vorrei renderla ricorsiva in modo che data una stringa e il n. max char per rigo,
    mi ritorni un array con le varie sottostringhe

    es: "uno due tre quattro cinque sei sette" max char 10
    --->
    $arr[0] = "uno due tre";
    $arr[1] = "quattro";
    $arr[2] = "cinque sei";
    $arr[3] = "sette";

    grazie

  2. #2
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    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

  3. #3
    Grazie... cosi fa al caso mio

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.