Souci avec EREG - PHP - Programmation
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); |
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 !!
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 [^']
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 !