PHP expression reguliere help - PHP - Programmation
Marsh Posté le 11-07-2003 à 14:26:58
en gros je pense que dans mon (.+) si j'exclue le caractere " ca devrai passer mais je suis pas trop sur de la syntaxe
Marsh Posté le 11-07-2003 à 14:49:16
jete un coup d'oeil ici, ça peut peut être t'aider :
http://forum.hardware.fr/forum2.ph [...] subcat=393
Marsh Posté le 11-07-2003 à 14:49:26
<?
$testchaine="<a href=\"discu.php3?code=20030709205316rico\"><a href=\"discu.php3?code=20030709205316rico\">";
if (ereg ( "code=([0-9a-zA-Z]+)\">", $testchaine,$tab_codes ))
{
echo "ca marche<br>";
echo "nb occurences".count($tab_codes)."<BR>";
for ($i=1;$i<=count($tab_codes);$i++)
echo $tab_codes[$i];
echo $buf;
}
else
echo "marche pas!";
?>
comme ça ça marche mais ça recupere que le premier
Marsh Posté le 11-07-2003 à 14:19:31
de là :
<tr><td><small><font face="Arial"><a href="discu.php3?code=20030709125223virgule">Diminuer la profondeur de champ ...</a></font></small></td><td>13</td><td>10/07/03 20:53</td></tr><tr><td><small><font face="Arial"><a href="discu.php3?code=20030704103014FxE">APN pas cher Nikon 2000 et questions diverses</a></font></small></td><td>10</td><td>10/07/03 19:48</td></tr><tr><td><small><font face="Arial"><a href="discu.php3?code=20030709223806neptune">Notice G5 ou G3</a></font></small></td><td>5</td><td>10/07/03 19:37</td></tr><tr><td><small><font face="Arial"><a href="discu.php3?code=20030708190649gate78">Feedback sur G5</a></font></small></td><td>7</td><td>10/07/03 19:07</td></tr><tr><td><small><font face="Arial"><a href="discu.php3?code=20030710181253yanfon">test du sony fx77</a></font></small></td><td>1</td><td>10/07/03 18:12</td></tr><tr><td><small><font face="Arial"><a href="discu.php3?code=20030628092223manuel21">panasonic lc33 - conclusions ???</a></font></small></td><td>11</td><td>10/07/03 17:18</td></tr><tr><td><small><font face="Arial"><a href="discu.php3?code=20030623202434soof">Panasonic LC33 ???</a> <a href="discu.php3?code=20030623202434soof&Rap=-1">[lecture rapide]</a></font></small></td><td>27</td><td>10/07/03 17:13</td></tr><tr><td><small><font face="Arial"><a href="discu.php3?code=20030509095539job1">Possesseur de fuji s2 et s1 ce fil est à vous</a> <a href="discu.php3?code=20030509095539job1&Rap=-1">[lecture rapide]</a></font></small></td><td>45</td><td>10/07/03 16:59</td></tr><tr><td><small><font face="Arial"><a href="discu.php3?code=20030710144725Phoebe">EOS (10D) et mode "Ai-Servo"</a></font></small></td><td>5</td><td>10/07/03 16:39</td></tr><tr><td><small><font face="Arial"><a href="discu.php3?code=20030705180513aoc">MAJ Canon 10D ok puis plus rien...</a> <a href="discu.php3?code=20030705180513aoc&Rap=-1">[lecture rapide]</a></font></small></td><td>33</td><td>10/07/03 16:20</td></tr><tr><td><small><font face="Arial"><a href="discu.php3?code=20030710143113pricci">dos pour reflex: si Leica le fait, quid de Canon et Nikon?</a></font></small></td><td>3</td><td>10/07/03 14:50</td></tr><tr><td><small><font face="Arial"><a href="discu.php3?code=20030709122703virgule">Pare-soleil et optiques 24x36 sur APN</a></font></small></td><td>9</td><td>10/07/03 14:21</td></tr><tr><td><small><font face="Arial"><a href="discu.php3?code=20030708124254ROGERLANTERI">Quelqu'un a-t-il des macros faites du D7HI ?</a></font></small></td><td>12</td><td>10/07/03 14:21</td></tr><tr><td><small><font face="Arial"><a href="discu.php3?code=20030710141345challenger">résolution et taux de compression</a></font></small></td><td>4</td><td>10/07/03 14:20</td></tr><tr><td><small><font face="Arial"><a href="discu.php3?code=20030709200123regis+W+R+C">fuji s304</a></font></small></td><td>4</td><td>10/07/03 14:11</td></tr><tr><td><small><font face="Arial"><a href="discu.php3?code=20030703183558MSK">EOS 10D et 17-40 Canon</a> <a href="discu.php3?code=20030703183558MSK&Rap=-1">[lecture rapide]</a></font></small></td><td>20</td><td>10/07/03 14:09</td></tr><tr><td><small><font face="Arial"><a href="discu.php3?code=20030708093732THG">Mon "Leica M" numérique</a></font></small></td><td>9</td><td>10/07/03 14:03</td></tr><tr><td><small><font face="Arial"><a href="discu.php3?code=20030707144804nikomat">Nouveau Nikon Pro</a> <a href="discu.php3?code=20030707144804nikomat&Rap=-1">[lecture rapide]</a></font></small></td><td>35</td><td>10/07/03 13:39</td></tr><tr><td><small><font face="Arial"><a href="discu.php3?code=20030710133520bonniere">centre optique et eos 10D</a></font></small></td><td>1</td><td>10/07/03 13:35</td></tr><tr><td><small><font face="Arial"><a href="discu.php3?code=20030709133027Phoebe">Mesure évaluative de l'EOS 50 et du 10D</a></font></small></td><td>10</td><td>10/07/03 13:04</td></tr><tr><td><small><font face="Arial"><a href="discu.php3?code=20030710083252toffe">Adaptateur Diapo Nikon ES-E28</a></font></small></td><td>3</td><td>10/07/03 11:36</td></tr>
ca
<tr><td><small><font face="Arial"><a href="discu.php3?code=20030709205316rico">Question Photoshop : Format d'épreuve RVB Moniteur par défaut</a></font></small></td><td>5</td><td>10/07/03 11:24</td></tr>
je voudrai extraire tout les codes style 20030710083252toffe
j'ai tenté avec
<?
$testchaine="<a href=\"discu.php3?code=20030709205316rico\"><a href=\"discu.php3?code=20030709205316rico\">";
if (ereg ( "code=(.+)\">", $testchaine,$tab_codes ))
{
echo "ca marche<br>";
for ($i=1;$i<=count($tab_codes);$i++)
echo $tab_codes[$i];
}
else
echo "marche pas!";
?>
mais il me ressort les deux car il matche la chaine la plus longue comment faire pour extraire juste le code et le bout de texte après ?
ex de resultat :
Test d'extraction ca marche
20030709205316rico"><a href="discu.php3?code=20030709205316rico
alors que je voudrai avoir deux fois juste
20030709205316rico
Message édité par cooltwan le 11-07-2003 à 14:22:42