[php] chaine de caractere et tableau

oxyris -  
touriste77 Messages postés 32 Statut Membre -
Bonjour ! Je voudrais réaliser un script en php, seulement je n'arrive pas du tout à trouver comment le faire, je vous explique :

J'ai une variable $contenu_fichier, qui contient comme son nom l'indique, le contenu d'un fichier...

Je voudrais mettre cette variable en tableau, de façon à couper en plusieurs parties, chaque "cellule" contiendrais admettons 500 caractères), j'aurrais donc dans la premiere "cellule" les caractères de 0 à 500, dans la 2ème de 500 à 1000, etc...
Ainsi en affichant array(3) par exemple, j'obtiendrais uniquement les caractères de 1000 à 1500.. Vous me suivez ?

J'ai fouiller un peu partout, je suis bloquer, je sais faire un tableau, compter le nombre de caractère, mais pour le reste j'avoue,je suis completement perdu.

Si l'un de vous à un idée ?

Merci
Configuration: Windows XP
Firefox 2.0.0.4

4 réponses

  1. weezy
     
    Merci beaucoup pour ce script. Il m'a été d'un grand secour !
    1
  2. Pug
     
    Pourquoi se compliquer ?
    str_split($var, 500);

    Et tu as ton tableau.
    1
    1. touriste77 Messages postés 32 Statut Membre 25
       
      lol, c vrai que str_plit le fait tout seul... vive php!!!
      merci pour cette réponse (bien qu'elle vienne 1 an après ^^)
      ça sert toujours :)
      0
  3. touriste77 Messages postés 32 Statut Membre 25
     
    salut,

    essaie ce bout de code si ça répond à tes attentes.

    <?php
    
    ...
    
    $tableau = array();
    $taille_cellule = 500;  /* par exemple */
    
    $i = 0;
    while ($i < strlen($contenu_fichier)) {
    	$tableau[] = substr($contenu_fichier, $i, $taille_cellule);
    	$i += $taille_cellule;
    }
    
    echo $tableau[3];
    
    ...
    
    ?>


    c'est un peu du bidouillage mais ça marche (enfin, si j'ai compris ton problème...)
    bonne continuation.
    0
  4. flomo
     
    Je me suis appuyé sur cette astuce pour en faire une fonction que voili :
    function Cut_chaine_add_caractere($chaine,$taille_cellule,$add_chaine){
    
    	// On compte le nombre de caractere dans la chaine	
    	$count = strlen($chaine);
    	
    	// Si la chaine de caractere est plus petite que stop le script;
    	if ( $count < $taille_cellule ){
    		return $chaine;
    	}
    	
    	// On met en variable tableau les cellules	
    	if ( $count > $taille_cellule ){
    	
    		$i = 0;
    		while ($i < $count) {					
    			$tableau[] = substr($chaine, $i, $taille_cellule);
    			$i += $taille_cellule;
    		}	
    	}
    	
    	// On met le caractere souhaite apres chaque cellule
    	$chaine = '';
    	$i=0;
    	while ( isset($tableau[$i]) && !empty($tableau[$i])){
    		$chaine.= $tableau[$i].$add_chaine;
    		$i++;
    	}
    	
    	// On retourne la chaine avec les caracteres souhaite
    	return $chaine;
    }
    
    $Ma_Chaine_A_Traiter = "aaaaaaaaaaaaaaaaabbbbbbbbbbbbbccccccccccccccccccc";
    $Ma_Chaine_A_Traiter = Cut_chaine_add_caractere( $Ma_Chaine_A_Traiter, '5', "<br />\n");
    
    

    Ce qui retournera donc :

    aaaaa
    aaaaa
    aaaaa
    aabbb
    bbbbb
    bbbbb
    ccccc
    ccccc
    ccccc
    cccc
    0