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 :

Modifier partie texte


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2012
    Messages : 245
    Points : 52
    Points
    52
    Par défaut Modifier partie texte
    Bonjour a tous.

    Voici un texte dont je voudrais modifier qu'une seule ligne : Balance moral initiale:50, et pouvoir conserver le meme type de presentation/format apres ecriture.

    Il me faut conserver les meme espace, tabutation, retour a la ligne etc...


    Je n'ai pas trouvé sur internet de quoi repondre a mon probleme.

    Ce type de code me mets tout en suivant.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    $tableau = file('Bataille fictive.scn');
    if(is_array($tableau)) //Si la variable $tableau est bien un tableau, on peut continuer, il faut plusieurs lignes pour faire un tableau
    { 
    $contenu_fichier = ''; 
     
    foreach($tableau AS $ligne) 
    {   
    $contenu_fichier .= $ligne; //stockage
    } 
    echo htmlspecialchars($contenu_fichier).''; //Affiche le contenu du fichier , notez que l'on a pas besoin d'utiliser fclose() ici 
    }
    ?>



    Automatic generated scenario file


    1. GENERALITES

    Epoque:Great1800Tactical
    Commentaire:Fictif
    :
    :
    :
    Pt free army 1:0
    Pt free army 2:0
    Handicap 1:0
    Handicap 2:0
    Camps 1:France
    Camps 2:Alliés
    Carte:Cartefictive2
    Armee defaut 1:Bataille fictive1
    Armee defaut 2:Bataille fictive2
    Distance vision 1:8
    Distance vision 2:8
    Detection auto. 1:0
    Detection auto. 2:0
    Dist identification 1:6
    Dist identification 2:6
    Nb leurres 1:0
    Nb leurres 2:0
    Pt de remplacement 1:0
    Pt de remplacement 2:0
    Facteur portee tir:1
    Balance moral initiale:50 <<<<<<<<<<<< ligne a modifier


    2. DEPLOIEMENT ET RAVITAILLEMENT

    Zone deploiement 0:0 79 129 119
    Zone deploiement 1:0 48 20 78
    Zone deploiement 2:0 0 -1 -1
    Zone deploiement 3:0 0 -1 -1
    Zone deploiement 4:0 0 129 36
    Zone deploiement 5:99 37 129 63
    Zone deploiement 6:0 0 -1 -1
    Zone deploiement 7:0 0 -1 -1
    nb pt ravitaillement camps 1:0
    nb pt ravitaillement camps 2:0


    3. POINTS DE VICTOIRE

    Controle du terrain
    pv par objectif:2
    nombre d'objectifs:12
    objectifs 1:115 31 0
    objectifs 2:85 10 0
    objectifs 3:28 5 0
    objectifs 4:50 2 0
    objectifs 5:10 7 0
    objectifs 6:0 82 0
    objectifs 7:17 105 0
    objectifs 8:80 107 0
    objectifs 9:104 114 0
    objectifs 10:125 4 0
    objectifs 11:77 100 0
    objectifs 12:13 116 0
    max pv pour pertes
    camps 1:100
    camps 2:100


    4. CONDITIONS DE FIN
    nb tours:35
    pv camps 1 >:0
    pv camps 2 >:0


    5. SEUILS DE VICTOIRE
    Strategique:50
    Tactique:10

  2. #2
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 858
    Points : 6 556
    Points
    6 556
    Par défaut
    Citation Envoyé par Patr77 Voir le message
    Ce type de code me mets tout en suivant.
    En fait pas du tout, si tu fais un click droit sur ta page et que tu affiches le code source généré, tu t'apercevras que le fichier est bien tel quel.

    Par contre dans ton navigateur, la chaîne que tu affiches avec echo est vue comme du html, et en html tout ensemble de caractères blancs (espaces, sauts de ligne, tabulations...) est affiché comme un simple espace (un navigateur pense toujours par défaut que ce qu'on lui donne est du html sauf information contraire). Donc pour afficher une chaîne de caractères sans que ces caractères blancs soient transformés en espace unique, tu peux la placer entre des balises <pre></pre> qui sont justement faites pour ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<pre>' . $contenu_fichier . '</pre>';
    Au passage, la fonction file() renvoie toujours un tableau, jamais une simple chaîne, même si ton fichier n'a qu'une seule ligne. Elle peut éventuellement renvoyer false si un problème survient (par exemple si le fichier n'existe pas). Donc le seul test à faire serait plutôt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (false !== $tableau = file('Bataille fictive.scn')) {
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2012
    Messages : 245
    Points : 52
    Points
    52
    Par défaut
    Citation Envoyé par CosmoKnacki Voir le message
    En fait pas du tout, si tu fais un click droit sur ta page et que tu affiches le code source généré, tu t'apercevras que le fichier est bien tel quel.
    Bonjour, en effet, ca correspond.



    Citation Envoyé par CosmoKnacki Voir le message
    Par contre dans ton navigateur, la chaîne que tu affiches avec echo est vue comme du html, et en html tout ensemble de caractères blancs (espaces, sauts de ligne, tabulations...) est affiché comme un simple espace (un navigateur pense toujours par défaut que ce qu'on lui donne est du html sauf information contraire). Donc pour afficher une chaîne de caractères sans que ces caractères blancs soient transformés en espace unique, tu peux la placer entre des balises <pre></pre> qui sont justement faites pour ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<pre>' . $contenu_fichier . '</pre>';
    Avec firefox j'ai pas ce probleme.



    Citation Envoyé par CosmoKnacki Voir le message
    Au passage, la fonction file() renvoie toujours un tableau, jamais une simple chaîne, même si ton fichier n'a qu'une seule ligne. Elle peut éventuellement renvoyer false si un problème survient (par exemple si le fichier n'existe pas). Donc le seul test à faire serait plutôt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (false !== $tableau = file('Bataille fictive.scn')) {



    Merci.

    je ferais d'autre essais pour modifier uniquement une ligne sans que cela doit modifier le fichier, en terme de format.

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2012
    Messages : 245
    Points : 52
    Points
    52
    Par défaut
    Voila mon code pour afficher et modifier qu'une seule ligne.

    Ca fonctionne, mais le probleme c'est qu'a l'affichage j'ai Resource id #3 a la place du nom du fichier ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    $file = fopen("Bataille fictive.scn", "r+");
      fseek($file, 570);
      fwrite($file, "\n Balance moral initiale:50");
     
    fclose($file);
     
    echo 'Le fichier'.$file.' a été modifié';
     
    ?>

    Je le met en resolu.

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

Discussions similaires

  1. modifier interligne uniquement sur les parties "texte"
    Par shams dans le forum Mise en forme
    Réponses: 7
    Dernier message: 12/05/2009, 12h01
  2. Réponses: 2
    Dernier message: 19/10/2005, 10h34
  3. [FLASH MX2004] Modifier du texte
    Par drizztoli dans le forum Flash
    Réponses: 3
    Dernier message: 28/05/2005, 10h03
  4. Réponses: 5
    Dernier message: 31/01/2005, 09h32
  5. modifier les texte dans un <span>
    Par Flobel dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 03/12/2004, 13h58

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