[ PHP ] Probleme de eregi et moyenne de valeurs

Probleme de eregi et moyenne de valeurs [ PHP ] - PHP - Programmation

Marsh Posté le 04-03-2003 à 17:17:48    

n ayant jamais rien compris au expressions regulieres,  
j aimerai savoir comment recuperer toutes les chaines situées entre # et # dans une ligne
 
genre  
"<blo><bla>un truc</bla> autre chose<!-- #4# --></blo>"  
qui me retournerais "4"
 
ET
 
ou trouver toutes les variable d environement
( je ne sais meme pas si ca s appelle bien comme ca :D )
genre le truc pour l ip pour l url d arrivée etc.
 
MERCI :jap:
 
edit : titre


Message édité par j-'-r le 04-03-2003 à 18:10:23

---------------
Perdu ? Vous êtes ici : --> *
Reply

Marsh Posté le 04-03-2003 à 17:17:48   

Reply

Marsh Posté le 04-03-2003 à 17:37:44    

pour voir les noms des variables d'environnement, tu peux utiliser la fonction phpinfo();
pour les utiliser, c'est HTTP_VARS['nom de la variable']

Reply

Marsh Posté le 04-03-2003 à 17:41:34    

nico168 a écrit :

pour voir les noms des variables d'environnement, tu peux utiliser la fonction phpinfo();
pour les utiliser, c'est HTTP_VARS['nom de la variable']
 


 
et lesquelles sont présentes la plus part du temps ?


---------------
Perdu ? Vous êtes ici : --> *
Reply

Marsh Posté le 04-03-2003 à 18:09:45    

voici le code :

Code :
  1. $cp=0;
  2. while(!feof($fp))
  3. {
  4. $ligne=$fichier.=fgets($fp,4096);
  5. if(eregi("%([^ ]+)%",$ligne))
  6. {
  7.  eregi("%([^ ]+)%",$ligne,$tr);
  8.  $trouve[$cp]=$tr[0];
  9.  $cp++;
  10. }
  11. }
  12. fclose($fp);
  13. $cp=count($trouve)-1;
  14. $c=0;
  15. while($c<$cp)
  16. {
  17. echo $total=$total+$trouve[$c];
  18. $c++;
  19. }
  20. echo $total;


et ce que je veux faire :
 
j'ai un fichier tu type html que j ouvre avec fopen
je veux trouver tous les nombres situé entre % et % dans le fichier, les additionner et les diviser par le nombre de nombre
( une moyenne en gros )
 
ca marche pas, help, ca me fait que des 0
fichier html parcourus :

<a href="#">span style="font-weight: bold">jerome :</span></a> 0 sur 10<!-- %0% --><br />
<a href="#"><span style="font-weight: bold">jerome :</span></a> 4 sur 10<!-- %4% --><br />
<a href="#"><span style="font-weight: bold">jerome :</span></a> 6 sur 10<!-- %6% --><br />


le 0 est la premiere valeur trouvée avec le eregi


---------------
Perdu ? Vous êtes ici : --> *
Reply

Marsh Posté le 04-03-2003 à 19:07:02    

Code :
  1. $total=$cp=0;
  2. while(!feof($fp))
  3. {
  4. $ligne=$fichier.=fgets($fp,4096);
  5. $c=0;
  6. while($c<11)
  7. {
  8.  if(eregi("%$c%",$ligne))
  9.  {
  10.   echo $total=$total+$c." ";
  11.   $cp++;
  12.  }
  13.  $c++;
  14. }
  15. }
  16. fclose($fp);
  17. echo $total." ".$cp." ";
  18. echo $moyenne=$total/$cp;


 
un autre code qui ne marche pas comme je veux, ca me trouve 6 10 16 20 26 donc 26/5 alors que dans le html il n y a que le 4 et 6


---------------
Perdu ? Vous êtes ici : --> *
Reply

Marsh Posté le 04-03-2003 à 19:57:18    

J-'-R a écrit :

n ayant jamais rien compris au expressions regulieres,  
j aimerai savoir comment recuperer toutes les chaines situées entre # et # dans une ligne
 
genre  
"<blo><bla>un truc</bla> autre chose<!-- #4# --></blo>"  
qui me retournerais "4"
 
 


 
utilise preg_replace_callback
 
$texte = preg_replace_callback("/#(.+?)#/i",ta_fonction(),$texte);

Reply

Sujets relatifs:

Leave a Replay

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