IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

aprés traitement je ne retrouve plus mes tabulations (fonction echo) ?


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 188
    Par défaut aprés traitement je ne retrouve plus mes tabulations (fonction echo) ?
    Salut mes amis
    j'ai chargé un fichier txt dans un vecteur a l'aide de la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $tab= explode("\n", $cont);
    après j'ai voulu afficher les lignes du vecteur $tab:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    foreach ($tab as $key => $value )
    {
     echo "<br>". $key . "--->" ."$tab[$key]" ;
    }
    est la j'ai constaté que je n'ai plus mes espace ex
    dans le fichier initiale j'avais :
    Mr Dupon Age: 20 ans Fonction: Agent
    dans la sortie HTML (avec le echo) j'ai obtenu:
    1 ---> Mr Dupon Age: 20 ans Fonction: Agent
    alors ou sont passé les espace par exemple entre Dupon et Age
    merci

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2007
    Messages : 156
    Par défaut
    Cela vient du fait que les tabulations d'un fichiers texte n'ont pas le même code dans un fichier HTML.

    Tout comme les retour à la ligne \n dans un fichier texte, <br/> en HTML
    Il te faut convertir tes tabulation en balise HTML. Par contre de mémoire, il me semble que la tabulation c'est \t mais comme balsie HTML là je ne sais pas.
    Sinon ce que tu peux faire c'est les remplacer par un espace déjà. De mémoire en HTML l'espace c'est &nbsp; .

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 188
    Par défaut
    c vrai mon ami
    le pb c'est que il remplace les tabulation par un simple espace lors de l'affichage en HTML mais comme dois-je faire ???

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2007
    Messages : 156
    Par défaut
    Utilise un preg_replace()
    et au pire tu remplace ta tabulation par plusieurs espaces.

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 188
    Par défaut
    ah merci mon ami mais elle est un peut dure cette fonction !!
    il n y a pas une autre solution par hasard ?

  6. #6
    Membre Expert
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Par défaut
    Salut,

    Ce sont des données tabulaires donc... pourquoi ne pas utiliser un tableau ?

  7. #7
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 188
    Par défaut
    merci pour votre réponse mon ami
    mais j'utilise un tableau (de chaine de caractères)
    normalement explode insert les lignes du fichier dans le tableau $tab
    sinon veuillez m'expliquer comment ?

  8. #8
    Membre Expert
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Par défaut
    Je voulais dire... Un tableau HTML.

    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $tab= explode("\n", $cont); 
    echo "<table width=\"400\">\n"; // définir largeur du tableau
    foreach ($tab as $key => $value ) {
    	if(trim($value)!=='') {
    		echo "<tr>\n";
    		echo "<td>".$key."</td>\n";
    		$lig=explode("\t",$value);
    		foreach ($lig as $data) {
    			echo "<td>".$data."</td>\n";
    		}
    		echo "</tr>\n";
    	}
    }
    echo "</table>\n";

  9. #9
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 188
    Par défaut
    ah chère ami vous ete très fort merci c sympa de votre part je vais l'essayé

  10. #10
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 188
    Par défaut
    malheureusement mon ami j'ai testé votre proposition mais je ne trouve toujours pas la forme de mon fichier initial les espaces entre le mot sont réduits a un seul espace !!!!

  11. #11
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 101
    Par défaut
    \t n'est pas une tabulation en code HTML ...

    Pour voir des tabulation en HTML utilise la balise <pre>.

    enfin si tu veux remplacer tes tabulations par des espaces fait le par des caractères "&nbsp;" et pas des espaces simples " ", sinon evidemment tu ne les verra pas ...

  12. #12
    Membre Expert
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Par défaut
    Il t'incombe d'adapter la largeur des colonnes à tes besoins.

    Exemple avec des colonnes de 400px
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $tab= explode("\n", $cont); 
    echo "<table>\n";
    foreach ($tab as $key => $value ) {
    	if(trim($value)!=='') {
    		echo "<tr>\n";
    		echo "<td>".$key."</td>\n";
    		$lig=explode("\t",$value);
    		foreach ($lig as $data) {
    			echo "<td style=\"width:400px\">".$data."</td>\n"; // Définition de la largeur de chaque colonne
    		}
    		echo "</tr>\n";
    	}
    }
    echo "</table>\n";

  13. #13
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 188
    Par défaut
    merci beaucoup mes amis pour vos propositions
    j'ai combiner les deux dernières proposition est sa a marché
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    $tab= explode("\n", $contents); 
    echo "<table>\n";
    foreach ($tab as $key => $value ) {
    	if(trim($value)!=='') {
    		echo "<tr>\n";
    		echo "<td>".$key."</td>\n";
    		$lig=explode("\t",$value);
    		foreach ($lig as $data) {
    			echo "<td style=\"width:400px\"> <pre>".$data." </pre> </td>\n"; // Définition de la largeur de chaque colonne
    		}
    		echo "</tr>\n";
    	}
    }
    echo "</table>\n";
    finalement c'était la fameuse balise <per> qui manque !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 21/02/2008, 12h52
  2. je ne retrouve plus le lien pour lancer une recherche sur le forum
    Par harlock59 dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 2
    Dernier message: 19/04/2006, 12h44
  3. [xml vs IE] IE n ouvre plus mes fichiers Xml
    Par wodel dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 01/03/2006, 12h38
  4. libération de la mémoire après traitement ?
    Par isachat666 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 07/12/2005, 19h29
  5. Réponses: 7
    Dernier message: 27/10/2005, 15h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo