gestion chaine de caractère dans un fichier

Eléphant du PHP | 180 Messages

13 févr. 2009, 11:25

Bonjour,

Je souhaiterai recupérer des données précises dans un fichier:
if(file_exists($Retours)==true)
			  {    			    			
   			     $Log = file($Retours);

                              foreach ($Log as $ligne)
    					{
                                         
                           $pos1=strpos($ligne,"-");
                           $j = substr($ligne,$pos1-2,2);
                           $m = substr($ligne,$pos1+1,3);
                           $a = substr($ligne,$pos1+5,4);
                            echo $Jdate = $j.$m.$a;
                    
                         }
              //$erase = unlink($Retours);
               }

l'intérieur du fichier est

******************************DISK$ESP_EXPL01:[TRANSMISSION]TRI_CHARGE.LOG;3137 OPERATEUR job terminated at 12-FEB-2009 05:12:54.84******************************DISK$ESP_EXPL01:[TRANSMISSION]TRI_CHARGE.LOG;3136 OPERATEUR job terminated at 11-FEB-2009 05:14:25.66******************************DISK$ESP_EXPL01:[TRANSMISSION]TRI_CHARGE.LOG;3135 OPERATEUR job terminated at 10-FEB-2009 05:12:09.50******************************DISK$ESP_EXPL01:[TRANSMISSION]TRI_CHARGE.LOG;3134 OPERATEUR job terminated at 9-FEB-2009 05:14:02.55

cela tout sur une seule et même ligne.

Or il s'arrête sur la première occurence

ViPHP
ViPHP | 1380 Messages

13 févr. 2009, 20:02

Le plus simple à défaut d'être le plus performant (et encore):
if(file_exists($Retours)==true)
{                                
	$Log = file($Retours);

	foreach ($Log as $ligne)
	{
		preg_match_all ('#[0-3]?[0-9]-[A-Z]{3}-[0-9]{4}#', $ligne, $capture);
		print_r($capture[0]);

	}
}
ripat

Eléphant du PHP | 180 Messages

17 févr. 2009, 09:13

C'est bon j'ai trouvé il manquait une dimension au tableau merci pour l'info preg_match_all