ereg : pb syntaxe utulisation

ereg : pb syntaxe utulisation - PHP - Programmation

Marsh Posté le 23-10-2007 à 12:54:59    

Salut les gars,
 
Voici mon p'tit soucis du jour :
 

Code :
  1. while(!feof($currentFile)){
  2.     $line = fgets($currentFile, 4096);
  3.     if (eregi("<body(.*)background(.*)>", $line, $bodyArray)/=false){
  4.      $line = str_replace(" background=\"(.*)\" ", $bodyB, $line, false);
  5.  }
  6.  else if (eregi("<body(.*)>", $line, $bodyArray)/=false){
  7.      $line = str_replace("<body", $bodyB2, $line, false);
  8.  }
  9.  $buffer .= $buffer + $ligne;
  10.    }


 
Me retourne :

Code :
  1. ", $line, $bodyArray)/=false){ $line = str_replace(" background=\"(.*)\" ", $bodyB, $line, false); } else if (eregi("", $line, $bodyArray)/=false){ $line = str_replace("


 
A mon avis, il y a un soucis dans la syntaxe, mais voilà j'aimerai avoir confirmation par des personnes qui connaissent un peu mieux PHP. Je m'en remet donc à vos remarques pertinentes.
 
Thanks a lot

Reply

Marsh Posté le 23-10-2007 à 12:54:59   

Reply

Marsh Posté le 23-10-2007 à 13:07:31    

remplace
eregi("<body(.*)background(.*)>", $line, $bodyArray)

 

par
eregi("/<body(.*)background(.*)>/U", $line, $bodyArray)

 

ce qui est important c'est le U pour ungreedy , ainsi tu vas essayer de matcher le plus petit bloc possible au lieu du plsu grand bloc possible


Message édité par flo850 le 23-10-2007 à 13:07:52
Reply

Marsh Posté le 23-10-2007 à 13:29:52    

Merci pour l'info d'optimisation, ceci étant le prog ne tourne toujours pas ::
Voici ce qui s'affiche sous Firefox :
 
/U", $line, $bodyArray)/=false){ $line = str_replace(" background=\"(.*)\" ", $bodyB, $line, false); } else if eregi("//U", $line, $bodyArray)/=false){ $line = str_replace("
 
Il doit manquer une parenthèse ou il y a un test incohérent non ?

Reply

Marsh Posté le 23-10-2007 à 13:33:07    

attends, je comprends pas un truc , quand tu dis "Voici ce qui s'affiche sous Firefox" c'est dans quelle condition ?  
le code ne s'execute pas ?

Reply

Marsh Posté le 23-10-2007 à 13:34:22    

Il manque un <?php

Reply

Marsh Posté le 23-10-2007 à 13:34:41    

t'as tout compris le code s'execute pas

Reply

Marsh Posté le 23-10-2007 à 13:36:02    

c le morceau de code inclus dans mon fichier, t'inquiète y a quand même les balises php
 
tu crois que ça peut venir de plus haut ?

Reply

Marsh Posté le 23-10-2007 à 13:37:23    

non, il n'y a pas les balises correctement  
 
regarde avant

Reply

Marsh Posté le 23-10-2007 à 13:43:53    

bon j'avais des variables non récupérées ...
 
Il me reste une parse error à cette ligne :
if (eregi("/<body(.*)background(.*)>/U", $line, $bodyArray)/=false)

Reply

Marsh Posté le 23-10-2007 à 13:44:13    

if (eregi("/<body(.*)background(.*)>/U", $line, $bodyArray)/=false){
      $line = str_replace(" background=\"(.*)\" ", $bodyB, $line, false);
  }

Reply

Marsh Posté le 23-10-2007 à 13:44:13   

Reply

Marsh Posté le 23-10-2007 à 13:45:07    

/= ca me semble louche ( chez moi , different en respectant le type c'est !== )

Reply

Marsh Posté le 23-10-2007 à 13:47:19    

oula je me croyait en ADA Lol

Reply

Marsh Posté le 23-10-2007 à 13:48:29    

Merci les mecs !

Reply

Sujets relatifs:

Leave a Replay

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