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 :

remplacer un caractere par un autre caractere dans un fichier


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 130
    Points : 68
    Points
    68
    Par défaut remplacer un caractere par un autre caractere dans un fichier
    bonjour,
    comment faire pour remplacer un caractere par un autre dans un fichier?
    déja je pense qu'il faut ouvrir le fichier en "a",et utiliser str_replace("","",$chaine)
    mais je bloque,qlqu'un peut m'aider??

  2. #2
    Membre habitué
    Avatar de savageman86
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 105
    Points : 199
    Points
    199
    Par défaut
    Salut,

    Il faut :
    1) lire le contenu du fichier ;
    2) faire le remplacement ;
    3) réécrire le contenu remplacé.

    @+

  3. #3
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 130
    Points : 68
    Points
    68
    Par défaut
    voila le fichier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <continents>
    <europe>
    <pays regime="monarchie constitutionnelle">Belgique</pays>
    <pays regime="monarchie constitutionnelle">Espagne</pays>
    </europe>
    <asie>
    <pays regime="empire">Japon</pays>
    <pays>Inde</pays>
    </asie>
    </continents>
    et mon script:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
    $fp=fopen("f1.txt","a+");
    $fg=fopen("f2.txt","a+");
    while(!feof($fp)) 
    {
    $toute_ligne=fread($fp,153); 
    $toute_ligne=str_replace("&lt;","<",$toute_ligne);
    $toute_ligne=str_replace("&gt;",">",$toute_ligne);
    fputs($fg,$toute_ligne);
    }
    ?>
    le probleme c'est a l'execution,j'ai ttes les valeurs qui sont modifiées a part le dernier &lt; qui reste un &lt; dans le fichier destination!!!
    comment regler le probleme?

  4. #4
    Inactif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 179
    Points : 202
    Points
    202
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $src_contents = file_get_contents($src_path);
    $dst_contents = str_replace(array('&lt;', '&gt;'), array('<', '>'), $src_contents);
    file_put_contents($dst_path, $dst_contents);

  5. #5
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 130
    Points : 68
    Points
    68
    Par défaut
    Citation Envoyé par sielfried Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $src_contents = file_get_contents($src_path);
    $dst_contents = str_replace(array('&lt;', '&gt;'), array('<', '>'), $src_contents);
    file_put_contents($dst_path, $dst_contents);
    ça marche pas!
    déja qd j'utilise le file_get_contents et le file_put_contents ça me fait pleins de warning puis ça beug,
    et qd j'ai utiliser le $dst_contents = str_replace(array('&lt;', '&gt;'), array('<', '>'), $src_contents); avec les fread et fputs ça pause le meme probleme,le dernier "&lt;" ne se modifie pas!!!!!!!!!

  6. #6
    Inactif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 179
    Points : 202
    Points
    202
    Par défaut
    Quelle est ta version de PHP ?

    Fais voir ton code avec file_get_contents/file_put_contents, et indique les warning que tu as.

  7. #7
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 130
    Points : 68
    Points
    68
    Par défaut
    Citation Envoyé par sielfried Voir le message
    Quelle est ta version de PHP ?

    Fais voir ton code avec file_get_contents/file_put_contents, et indique les warning que tu as.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $fp=fopen("aaa.txt","a+");
    $fg=fopen("aab.txt","a+");
    while(!feof($fp)) 
    {$src_contents = file_get_contents($fp,153);
    $src_contents = str_replace(array('&lt;', '&gt;'), array('<', '>'), $src_contents);
    file_put_contents($fg, $src_contents);
    }
    ?>
    les warning:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    file_get_contents() expects parameter 1 to be string, ressource given in C:\....
     
    file_put_contents() expects parameter 1 to be string, ressource given in C:\....
    ps: j'utilise php5

  8. #8
    Inactif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 179
    Points : 202
    Points
    202
    Par défaut
    lol non mais je t'ai filé le code tout fait, et toi tu fais autre chose et tu passes des paramètres inexistants (sans même penser à lire la doc de ces fonctions au passage).

    T'as rien besoin de plus que les trois lignes que j'ai données, si ce n'est remplacer $src_path et $dst_path par le chemin source et de destination...

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 11/04/2014, 15h21
  2. Réponses: 10
    Dernier message: 24/11/2008, 13h14
  3. Réponses: 2
    Dernier message: 05/09/2007, 22h10
  4. comment remplacer un caractere par un autre dans un fichier txt
    Par uzumaki_naruto dans le forum Langage
    Réponses: 6
    Dernier message: 24/07/2006, 13h33
  5. Réponses: 8
    Dernier message: 31/05/2006, 12h33

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