Lire fichiers html avec php

Bonjour,
je veux une solution qui peux m'aider à la visualisation du code source d'un fichier html pour pouvoir lire tout le fichier html et voir si les attributs title et elt sont disponible dans les les balises <a>et <img>sinon il les rajoute
si il vous plait c tres urgent
Configuration: Windows XP
Internet Explorer 6.0

16 réponses

Résumé de la discussion

Visualisation du code source HTML et vérification de la présence des attributs TITLE et ALT dans les balises <a> et <img />, avec ajout automatique si nécessaire, reste une priorité urgente. Des propositions réalisables incluent l’usage de Notepad++ pour parcourir les fichiers HTML et remplacer les attributs ALT et TITLE via Ctrl+F, répondant rapidement au besoin. D'autres préconisent une solution PHP qui lit les fichiers, analyse les balises concernées et insère automatiquement les attributs manquants, tandis que certains évoquent la conversion HTML en texte pour traitement. D'autres détails utiles incluent l'extension potentielle de ces méthodes à d'autres balises et l'intégration dans un script automatisé pour des vérifications récurrentes.</a>

Bobot (l’IA à votre service)
  1. prend notepad++

    ouvre tes fichiers html un par un

    fais ctrl+F -- 'replace'

    et tu fais la manip pour les balises ALT et TITLE

    depuis 15h47 , tu aurais deja fini
    1
    1. mais je veux pa l'ouvrir manuellement mais je veux un programme qui ouvre et corrige le code html en utilisant un script php et tous passe automatiquement
      0
  2. Je comprend pas ce que tu ve :s

    Tu pe être plus clair stp ?
    0
    1. d'abord merci pour l'interet que vous porter à mon probleme chris05,mnt je vais vous eclaircir le probleme:
      je veux selectionner un fichier html dans une liste deroulante et ensuite je dois lire le code source de ce fichier pour je je puisse verifier si les attributs ALT et TITLE sont presonts ou non dans les balises <img> et <a> sinon il faut les rajouter
      stp si vous une idee sur ca tu peux m'envoyer un message directement sur ma boite

      nissrine-20_21@hotmail.com
      0
  3. D'accord, j'ai compris ce ke tu voulé ;)

    Mé c pas évident :(

    Si j'trouve la solution, j'te diré ça, je vé demandé un peu autour de moi ;)

    Peut-être A+ ;)

    Bon courage dans tes recherches ;)
    0
    1. merci pour ta comprhension
      et j'espere que tu peux m'aider
      mé merci fortement d'avance
      0
      1. Bonjour.

        Tu peux préciser ce qui te pose problème :
        - Lecture du fichier HTML
        - Trouver les IMG / A
        - Regarder s'ils ont un attribut ALT
        - Insérer l'attribut
        ?
        0
        1. je veux exactement c que vous avez cité dans votre question,j'ai fait assez d'effort mais j' arrive pas à ce que je veux
          et merci d'avance pour votre aide
          0
        2. s'il vous plait si vous avez de solution pour mon probleme repondez moi rapidement car mon travail est stopé à cause de ça
          0
      2. bonjour, il te suffit de lire le fichier avec php, voici un tuto : https://www.commentcamarche.net/contents/791-php-les-fichiers

        puis cree une variable (en javascript ou en php, mais je prefere le Js) qui contiendra le contenu du fichier html affiché sur la page (pour l'afficher cree dabord une variable php qui contiendra le code html de la page, et tu fais un
        echo $variable_contenant_le_code_html ;
        et aussi

        echo "<script> var codeHtml = " . $variable_contenant_le_code_html . " ;"  ; 


        et tu ecris le reste du script

        tu recherche dans cette variable codeHtml la presence de "alt" dans une balise img avec
         indexOf("alt")
        :
        si sa donne -1 alors, pas de alt dans le code html, sinon il y en a : !!
        0
        1. mais comment je cree ce variable,ca m parait un peu difficile sachant que je ss encore debutante en php,
          stp pouvez vous m'aider plus que ca
          0
        2. @hananeInitiation à php :
          ICI ou LA.

          Bon courage...
          0
        3. stp si tes encore là tu peux m'expliqué c que tu viens de dire ,coment je peux mettre le contenu de fichier dans ce variable
          0
        4. stp stephane j'arrive pas à utiliser votre methode,tu me m'expliqué plus
          et dsl si j te derange par mes questions
          0
        5. @macgawelmacgawel tu peux m'aider à la recherche des balises <img>et <a> pour verifier si les attributs title et alt sont presents ou non ,
          moi j'ai deja lu tous les cours de fichiers avec php mais j'ai pa trouver quelque choses sur ce probleme
          stp tu peux m'aider il me reste que ce jour pour render le travail
          0
      3. on n'a pas besoin de PHP pour lire du HTML on clique sur le bouton droit et on lit on peut meme sauvegarder
        0
        1. mais pourquoi du php ?

          tout tes fichiers html sont sur un serveur ?

          en batch c'est possible et limite plus rapide, mais uniquement si les fichiers sont sur ta becane ?
          0
          1. mais non je travailler avec php pour lire le fichier et faire la recherche des attributs dans les balises concernés
            0
        2. fais d'abord un script qui te copie tes fichiers .html vers on dossier de travail mais avec l'extension .txt

          ensuite avec tes fichiers .txt tu les modifs tu les renommes en .html et tu les renvoi dans ton dossier de depart et hop une mise a jour de faite

          **

          pour le php, le mieux ce serai de faire apparaitre le txt dans une textarea, avec 2 ou 3 boutons cliquables un pour ALT un pour TITLE etc ...

          et dans un deuxieme textarea le texte corrigé, puis un bouton valider pour modifier le fichier.txt

          apres pour les modif du texte tu utilise str_replace

          **
          si tu veux le faire en automatique ... bon courage , tu va surement passer plus de temps a tester le fonctionnement de ton script, qu'a le taper
          0
          1. je vais l'essayer avec cette methode et j'espere que je vais y arriver merci pour ton aide ,mais je vais etre surement besoin de toi,si tu peux suivre avec moi le fonctionnement de ça ,ça sera vraiment tres getill de ta part
            voici mon adresse si veux m'ajouter sur ta liste de contactes ::nissrine-20_21@hotmail.com
            0
        3. paie ton spam !!

          faut pas mettre son adresse mail en ligne, c'est emmerdant pour toi apres

          **
          fais ton script en plusieurs etapes >
          >
          >>> préparation + copie des fichiers vers dossier travail

          >>> affichage/modif. des fichier dans le dossier de travail

          >>> préparation/copie des fichier corrigé de dossier travail vers dossier définitif

          **
          pour ton adresse va sur mon profil; regarde l'image et envoi moi un mail depuis ta bte mail, comme ca je n'aurai pas a noté, car la je suis au taf ; je suis pas sur mon PC

          merci

          bon courage

          A+
          0
          1. merci fortement et je vais faire c que tu m'as proposé
            0
          2. j'ai telechargé tous les fichiers html dans un dossier mais comment pourrais je faire pour les rendre en txt et je dis automatiquement !!!!!!
            svp j'attend ta reponse
            0
          3. @hananepour convertir un fichier .htm ou .html en .txt sur un serveur

            tu prend ton fichier de base, tu demande a ton script t'enlever les 3 ou 4 derniers caracteres et de les remplacer par .txt

            comme un script d'upload/vérification avant envoi sur ftp
            0
        4. y a quelqu'un qui peut m'aider pour verifier les balises html
          0
          1. pardon je n avais pas compris en faite tu veux "parser" du HTML
            il existe des fonctions xml faites pour ça dans le module xml
            en quelques fonctions tu mets tout ça dans un tableau
            et tu en fais ce que tu veux aprés
            exemple http://jeanmichel.gens.free.fr/xml2.php?f=index.php
            tu remplaces index.php par un autre fichier
            0
            1. svp jmg vous pouvez m'aider comment je peux chercher un mot clè qu'on va l preciser dans une zone de texte dans le formulaire de telechargement de fichier et ce mot clé doit etre l'un des attributs des balises <img> ou <a>
              donc la recherche doit se passer au niveau de ces balises exactement

              pouvez vous m'aider et merci pour votre aide
              0
            2. bon jmg j'ai essayé avec cette classe mais j n sais pas ou dois je la mettre,
              j'ai la mis avant <body>
              mais ca donne rien chez moi
              kesk je dois faire pour qu'il fonctionne bien
              svp pouvez vous m repondre maintenant?
              0
          2. pour parser un fichier html simplement rapidement et efficacement renseignes toi sur les template XSL

            ensuite tu crée ton template tu lui passe en entrée le fichier a parser et tu lui demande en sortit un fichier html.
            0
            1. pour toute aide supplementaire me contacter en vocal
              0
              1. salut jmg78 comment va tu?svp je veux te contacter en vocale mais je n sais pa comment acceder à cette option,j'ai consulter ton profil mais je trouve pas quelque chose sur le vocale,pouvez vous me dire comment puise te contacter
                et merci infiniment
                0
            2. En voyant ton idée, la première chose qui me passe a l'esprit, c'est "expressions régulières".

              tu ouvres ton fichier concerné en lecture-ecriture.

              et pour chaque ligne, appelle à la fonction preg_replace($expression, $remplacement, $texte_source);

              je vais ajouter qu'il est possible à l'aide de la fonction strpos($recherche, $texte_source) de faire une condition permettant de savoir si oui ou non ça vaut la peine de faire un preg_replace($,$,$) (strpos($,$) étant largement moins gourmand en ressource que preg_replace($,$,$)).

              ca donnerai en gros

              $handle = @fopen($url, "rw");

              while(!feof($handle)) {
              $buffer = fgets($handle, 2048);
              if (strpos("<img", $buffer) !== false || strpos("<a", $buffer) !== false) {
              preg_replace("expression_reguliere","texte_de_remplacement",$buffer);
              }
              }

              close($handle);
              0
              1. oups j'ai omis de mettre le code d'ecriture de la nouvelle ligne dans le fichier.

                Pour ca en gros, la fonction str_replace() renvoi la chaine modifier, il suffit de l'ecrire dans le fichier a l'aide des fonctions adequates.
                0
                1. merci ludz pour ta reponse,
                  je pense que t'as bien compris le probleme
                  mais presque j'ai passé tous ces etapes,mais le probleme maintenat est
                  dans mon programme j'affiche tous les balises <a> d'un fichier HTML qui contiennent pas l'attribut "title",maintenant je dois ajouter cet attribut à tous ces balises,
                  [b]0____ href="mailto:jean.dupont@free.fr"
                  1____ id="cuisinea" href="#cuisine"
                  2____ id="Les rollersa" href="#rollers"[/b]
                  pour que le resultat soit comme ça:
                  0____ href="mailto:jean.dupont@free.fr" title=""
                  1____ id="cuisinea" href="#cuisine" title=""
                  2____ id="Les rollersa" href="#rollers" title=""

                  evidemment cet ajout doit apparait dans le code du fichier html c'est pour ça que j'ai utiliser fwrite(),mon code est sous la forme de:
                  [code]
                  $motCle='title';
                  $chemin="telechargement/source.htm";
                  $ouvrir_fichier=fopen($chemin,'r+') or die('Fichier introuvable');
                  $contenu=tidy_get_root(tidy_parse_file($chemin));
                  if (preg_match_all("/<a\s[^>]*href=(\s*(\"??)([^\" >]*?)\\2(?![^<>]*title=)[^<>]+)>(.*)<\/a>/siU",$contenu,$out, PREG_SET_ORDER))
                  {
                  foreach($out as $hkey=>$hval)
                  {
                  $remplace=$hval[1].' '.'title';
                  $preg=preg_replace('/'.$hval[1].'/',$remplace,$out[1][1]);
                  echo $preg.'<br/>';

                  }
                  }
                  fwrite($ouvrir_fichier,$preg);
                  fclose($ouvrir_fichier);
                  ?>
                  [/code]
                  maintenat le probleme c'est que l'ajout se fait seulement dans la derniere balise de mon code HTML ,svp je veux que vous m'aidez à regler la boucle pour que l'ajout se fait dans tous les balises" que ça soit ecrit dans le code html"

                  merci d'avance pour votre aide
                  0