[PHP] Expression Reguliere fonction ereg()

Expression Reguliere fonction ereg() [PHP] - Programmation

Marsh Posté le 05-03-2002 à 10:58:41    

Voila j'ai une chaine de caractere de ce type la :
 
RG : 03 | DD : 00023 | AG : 00570 | ET : 60570  
 
ET je voudrais recuperer que les chiffres, pour l'instant, comme je connais tres mal l'utilisation de ereg() j'ai reussit en faisat ca :
 
ereg("([0-9]{2})", $st, $rg ) ;
ereg("([0-9]{5})", $st, $dd ) ;
$aga = strstr($st,'AG';) ;
ereg("^.*(ET)", $aga, $agb );
ereg("([0-9]{5})", $agb[0], $ag );
$et = strstr($st,'ET';) ;
ereg("([0-9]{5})", $et, $et );
 
 
Personnellement je ne trouve pas vraiment ca top et j'aurais besoin un peu de votre aide.
 
ps : il arrive que la zone AG soit vide :-(

Reply

Marsh Posté le 05-03-2002 à 10:58:41   

Reply

Marsh Posté le 05-03-2002 à 11:19:51    

Yep :
 
$chaine = "RG : 03 | DD : 00023 | AG : 00570 | ET : 60570";
 
preg_match_all("/[\w]{2}\s:\s([\d]{0,5})\s?/
",$chaine,$reg,PREG_PATTERN_ORDER);
 
$i=0;
while(strlen($reg[1][$i])!=0)
{
 echo trim($reg[1][$i])."<br>";
 ++$i;
}

Reply

Marsh Posté le 05-03-2002 à 11:26:48    

Ou cela si tu veux aussi capturer les RG, DD, AG ...
 
$chaine = "RG : 03 | DD : 00023 | AG : 45 | ET : 60570";
 
preg_match_all("/([\w]{2})\s:\s([\d]{0,5})\s
?/",$chaine,$reg,PREG_PATTERN_ORDER);
 
$i=0;
while(strlen($reg[1][$i])!=0)
{
 echo trim($reg[1][$i])." ".trim($reg[2][$i])."<br>";
 ++$i;
}

Reply

Sujets relatifs:

Leave a Replay

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