Parser du code!

Parser du code! - PHP - Programmation

Marsh Posté le 03-08-2006 à 12:08:46    

bonjour,
je souhaite parser ce code pour récupérer la valeur nombres de pages.

Code :
  1. <area shape="rond" coords="1,1,1" href="javascript:return false" alt="27/07/2006 - 2 000 000 pages" title="27/07/2006 - 2 000 000 pages"></MAP>


Comment puis-je faire?
Je suis parti de ce bout de code :

Code :
  1. <?php
  2. $fichier="fichier.html";
  3. $fp='';
  4. while (!feof($file))
  5. {
  6.     $fp .= fgets($file,255);
  7. }
  8. $pages = preg_match_all("<title>(.*)</title>" );
  9. ?>


Reply

Marsh Posté le 03-08-2006 à 12:08:46   

Reply

Marsh Posté le 03-08-2006 à 15:06:04    

répurérer ce truc ?

Citation :

<area shape="rond" coords="1,1,1" href="javascript:return false" alt="27/07/2006 - 2 000 000 pages" title="27/07/2006 - 2 000 000 pages">


 

Code :
  1. $file = file('monfichier.html');
  2. $j = sizeof($file)-1;
  3. for($i = 0; $i <= $j; $i++)
  4.   {
  5.      if(preg_match('`<area.*title=".*([0-9 ]*)+ page[s]*"`si',$file[$i],$result))
  6.         {
  7.            $pages = $result[0];
  8.            break;
  9.         }
  10.   }


biensûr c'est à tester.


Message édité par Martius le 03-08-2006 à 15:48:26

---------------
Martin
Reply

Marsh Posté le 03-08-2006 à 15:15:56    

La balise Map entrante est beaucoup plus avant le code.
Comme ceci <MAP ...><du code blabla><area shape="rond" coords="1,1,1" href="javascript:return false" alt="27/07/2006 - 2 000 000 pages" title="27/07/2006 - 2 000 000 pages"></MAP>

Reply

Marsh Posté le 03-08-2006 à 15:19:46    

je pense qu il voulait dire area a la place de map ^^

Reply

Marsh Posté le 03-08-2006 à 15:31:03    

Ca ne marche pas ... J'ai comme erreur Parse error: syntax error, unexpected T_STRING in index.php on line 46

Reply

Marsh Posté le 03-08-2006 à 15:33:15    

il manque un quote ;) ( faut relire ce qu'on te donne, pas le copier coller sans savoir)


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 03-08-2006 à 15:48:52    

corrigé (enfin, toujours à tester quand même :d)
 
le but était de donner l'idée, pas forcément un résultat tout prêt.


Message édité par Martius le 03-08-2006 à 15:49:42

---------------
Martin
Reply

Marsh Posté le 03-08-2006 à 15:53:25    

j'y serais plutôt aller à coup d'explode pour récupérer la valeur du alt, puis un coup de regex sur la valeur du alt.
Si la balise area est trop grande, la regex pourra ptet pas l'analyser globalement.

Reply

Marsh Posté le 03-08-2006 à 15:57:16    

manque des "?"
ta regex est greedy par défaut, donc tu peux "eventuellement" te retrouver avec des choses que tu voulais pas ( genre il manque le - entre la date et le nombre de pages)

Reply

Marsh Posté le 03-08-2006 à 17:20:26    

ah, wai, tant pis :D


---------------
Martin
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed