Aller au contenu

Traitement de données


Calli

Sujets conseillés

Salut je bloque sur un petit script pour traiter le code suivant

<table>

<tr>

<td><h4>Nom de la commune</h4><strong>Lisle-en-Rigault</strong></td>

<td><h4>Région</h4><a href="./regions.html?mode=detail&reg=57" title="fiche de la région">Lorraine</a></td>

</tr>

</table>

<div class="donnees">

<h4>Généralités historiques</h4>

<p><ul><li>Occupation préhistorique.</li>

</ul></p>

<h4>Vestiges préhistoriques et antiques</h4>

<p><ul><li>Grottes dans la vallée du Boulou.</li>

</ul></p>

Avec le script suivant j'arrive a récupérer comme info le "nom de la commune" mais pas les "Vestiges préhistoriques et antiques"

$fp = fopen("...", "r");

while (!feof($fp)) {

$ligne = fgetss($fp, 4096);

if ( strstr($ligne,'Nom de la commune'))

{

$commune = substr(strstr($ligne,'Nom de la commune'),17) ;

}

if ( strstr($ligne,'Région'))

{

$region = substr(strstr($ligne,'Région'),6) ;

}

if ( strstr($ligne,'Vestiges préhistoriques et antiques'))

{

$vpa = substr(strstr($ligne,'Vestiges préhistoriques et antiques'),36) ;

}

}

je ne comprend pas pourquoi cela fonctionne pour le nom de la commune et la région et non pour le reste ?

Lien vers le commentaire
Partager sur d’autres sites

Bien vu et bien compté

mais ca ne change rien...

Il semble que comme je lit les info ligne par ligne et que les info qui m'intérresse sont a la ligne en dessous je suis bloqué ?

il faudrait pouvoir passer a la ligne suivante

Modifié par Calli
Lien vers le commentaire
Partager sur d’autres sites

Salut

Si j'ai bien compris tu veux récupérer le texte précédé par titre du texte.

Je pense que ça serai plus simple en utilisant la fonction file()

 
$tab = file(.....);
$nb = count($tab);
$zu = "false";

for($i;$i<$nb;$i)
{
$ligne = $tab[$i];

//-------------------------------------------------------------- 1

//et la tu commence par tester si $zu == "true"
//et dans ce cas tu récupére le texte qui t'intérresse

(.......)

//sans oublier de mettre $zu = false
break; --> pour finir le tour en cours et ne pas faire les test suivants

//-------------------------------------------------------------- 2
//ensuite tu teste si le texte correspondant a titre ne se trouve pas a coté de titre
// cad qu'il se trouve a la ligne suivante.
//et dans ce cas tu met : $zu = "true"


//-------------------------------------------------------------- 3
//Et pour finir si $zu == "false" et que le texte correspondant a titre se trouve a coté de titre
//tu récupére le texte a coté de titre comme tu le fait



}

j'espére que c clair

ça t'oblige a recommencer ton script mais je suis pas trop a l'aise avec l'autre méthode

A+

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...