Souci avec EREG

Souci avec EREG - PHP - Programmation

Marsh Posté le 03-03-2010 à 19:13:07    

Bonjour,
 
Avec PHP j'ouvre un fichier de l'un de mon répertoire.
 
Il contient entre autre :
 
<title>Confirmation</title>
<br><img src='http://www.site.com/mailingstat.php?mail=gilsonl@hotmail.com' width='1' height='1' border='0' />
 
 
En faisant :
$titre = ereg("<title>(.*)</title>",$page,$regs);  
echo $regs[1];
Cela m'affiche bien "Confirmation".
 
Cependant, en faisant : (ce que je souhaite)
$titre = ereg("http://www.site.com/mailingstat.php?mail=(.*)' width='1' height='1' border='0'",$page,$regs);  
echo $regs[1];
Cela ne m'affiche rien !!! Alors que je souhaite récupérer l'adresse mail...
 
Pouvez vous m'aider ? :)
 
Merci !

Reply

Marsh Posté le 03-03-2010 à 19:13:07   

Reply

Marsh Posté le 03-03-2010 à 21:30:51    

Je crois que le point d'interrogation a une signification particulière, et c'est peut-être aussi le cas pour les barres obliques et les apostrophes. Il faudrait essayer avec :

$titre = ereg("mail=(.*)",$page,$regs);  


Message édité par billgatesanonym le 03-03-2010 à 21:32:10
Reply

Marsh Posté le 03-03-2010 à 21:36:41    

Merci !!!
 
Cependant, avec cela... ça m'affiche TOUT à partir de mail= soit :
 
gilsonl@hotmail.com' width='1' height='1' border='0' />  
 
 
Comment faire pour récupérer SEULEMENT l'email ?
 
Merci beaucoup !!

Reply

Marsh Posté le 04-03-2010 à 07:08:44    

Tu as deux solutions :
preg_match("/mail=(.*?)'/", $page, $regs);
ou
preg_match("/mail=([^']*)/", $page, $regs);
 
Il faut plutôt utiliser preg_match que ereg, car ereg devient déprécié dans PHP 5.3
 
Dans le premier exemple tu lui demandes de capturer tout ce qu'il y a avant un ' mais tu demandes à .* d'être non glouton en lui ajoutant ? ainsi il capture le plus petit possible.
 
Dans le deuxième, tu lui demandes de capturer tous les caractères sauf le ' avec [^']

Reply

Marsh Posté le 09-03-2010 à 21:40:28    

Merci beaucoup c'est parfait :)

Reply

Sujets relatifs:

Leave a Replay

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