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 :

faire des remplacements sans la déformation du contenu du fichier html


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 123
    Points : 55
    Points
    55
    Par défaut faire des remplacements sans la déformation du contenu du fichier html
    Bonjour,
    mon programme affiche toutes les balises <a> qui ne contiennent pas l'attribut title, sous la forme d'un tableau

    comme ceci:

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <? php 
     
    $ motcle = 'title =" bien "'; 
     
     
     
    $ chemin = "fichier.htm"; 
     
    $ouvrir_fichier  = fopen ($ chemin, 'r +') or die ( 'Fichier introuvable'); 
     
     $ contenu= tidy_get_root (tidy_parse_file ($ chemin)); 
     
    iif (preg_match_all("/<a([^>](?![^<>]*title=)[^<>]+)>(.*)<\/a>/siU",$contenu,$out, PREG_SET_ORDER))
    {  
     
    foreach($out as $hkey=>$hval)
    {
    $val=$hval[1];
    $remp=$val." ".$motCle;
    echo $hkey."____".'<span style="color:blue">'.$hval[1].'</span>'."<br/>";
    / / puis je dois ajouter à ces balises trouvé l attribut title comme suit: 
    $replace=preg_replace('/'.$val.'/',$remp,$contenu);
     echo $replace."<br/>";
    }
    else
    {
    / / aucun traitement
    }
    => Enfin, je dois écrire ces nouvelles balises avec leur attribut title dans le fichier html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    fwrite ($ ouvrir_fichier, $replace) 
     
    fclose ($ ouvrir_fichier);
    ?>
    => Le problème est que le $contenu est écrit dans le fichier HTML chaque fois que nous avons fait un remplacement, c'est-à-dire: en fonction du nombre de balises trouvées, tandis que je veux que le contenu s'écrit une seule fois , c'est-à-dire: en faisant le remplacement sans la déformation du contenu du fichier html

    Merci d'avance

  2. #2
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 123
    Points : 55
    Points
    55
    Par défaut
    bon j'ai résolu mon problème ,il suffit de faire comme ça:
    au lieu de:$replace=preg_replace('/'.$val.'/',$remp,$contenu);
    j'ai fait:
    $contenu=preg_replace('/'.$val.'/',$remp,$contenu);

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

Discussions similaires

  1. Comment faire des remplacements dans des fichiers (sed + regex)
    Par vinok972 dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 04/12/2012, 12h50
  2. faire des tableaux sans <table><tr><td>
    Par bigs3232 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 09/01/2012, 20h20
  3. comment faire des formulaires sans tableau
    Par artotal dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 02/08/2008, 13h30
  4. Réponses: 4
    Dernier message: 21/08/2007, 14h09
  5. Faire des remplacements dans un fichier texte
    Par DooSquare dans le forum C
    Réponses: 6
    Dernier message: 06/07/2007, 18h22

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