Trouver la position d'un mot dans un fichier Texte.

Fermé
Arbitta Messages postés 76 Date d'inscription jeudi 5 mars 2015 Statut Membre Dernière intervention 16 février 2016 - Modifié par jordane45 le 11/03/2015 à 11:18
codeurh24 Messages postés 761 Date d'inscription samedi 29 mars 2014 Statut Membre Dernière intervention 8 septembre 2018 - 11 mars 2015 à 20:05
Bonjour,
j'ai un fichier texte que est rempli avec un code source d'une page html quelconque.
Je veut trouver le nombre de ligne associé au mot "<body>" quelqu'un peut m'aider?
Voilà mon code :
<?php
$fp=fopen("fCodeSource.txt","r+");
$findme="<body>";
$i=0;
do{
$cont=fgets($fp,1024);
$i++;
if (strcmp($cont,$findme) == 0) {
    echo ("la position du mot body est ".$i);
 }
 }while (($cont==$findme) or (!feof($fp)))
?>


EDIT : Ajout des balises de code
A voir également:

1 réponse

codeurh24 Messages postés 761 Date d'inscription samedi 29 mars 2014 Statut Membre Dernière intervention 8 septembre 2018 123
11 mars 2015 à 19:54
Bonjour.

<?php

/* initialisation des variables*/
$filename = "fCodeSource.txt";
$nameSearch = "<body>";
$lineFound = array();

/* si le fichier n'existe pas, on ne vas pas plus loin */
if (!file_exists($filename)) {
echo "Le fichier $filename n'existe pas.";
exit();
}



/*
si le fichier existe on découpe les ligne sous forme de tableau.
Le retour a la ligne est reperer par \r\n (sous windows avec bloc note)
  • /$contentFile = file_get_contents($filename);$arr = explode("\r\n", $contentFile);/* on liste les lignes du tableau */foreach( $arr as $key => $valeur){ if(substr_count($valeur ,$nameSearch)) { echo ($key+1)." - ".htmlspecialchars($valeur)."<br />"; /* on memorise chaque ligne contenant le mot rechercher. a chaque ligne de ce tableau on enregistre la ligne en cour */ $lineFound[]['ligne'] = $key+1; }}/* affiche des ligne mémoriser (precedement filtrer par mot rechercher)*/foreach( $lineFound as $nLigne)echo $nameSearch." trouver a la ligne ".$nLigne['ligne']."<br />";/* nombre de ligne comptabilisé */$n = count($lineFound);echo "il y a ".$n ." lignes trouvé"."<br />";/* nombre de mot en tout dans le fichier texte*/echo "il y a ".substr_count($contentFile , $nameSearch) ." mots trouvé";?>
0
codeurh24 Messages postés 761 Date d'inscription samedi 29 mars 2014 Statut Membre Dernière intervention 8 septembre 2018 123
11 mars 2015 à 20:05
0