Salut,
De rien ;-)
Essaie ça pour voir
preg_match_all('/\s[0-9]{1,3}\.?[0-9]?\/1/',$page,$tableau);Tu veux aussi récupérer la masque avec virgule?!
preg_match_all('/\s[0-9]{1,3}[.,]?[0-9]?\/1/',$page,$tableau);
J'ai testé ta regex sur l'exemple que tu as donné et ça ne marche pas.
lami20j@debian:~/trash$ cat script.php
<?
$page="03 / 04 05 06 07 08 09 / / / / 1 / 145/1 / 2 / 49/1 / 3 / 83/1 / 4 / 37/1 / 5 / 8/1 / 6 / 16/1 / 7 / 78/1 / 8 / 2,5/1 / 9 / 100/1 / 10 / 14/1 / 11 / 24/1 / 12 / 2,2/1 / 13 / 29/1 / 14 / 94/1 / 15 / 28/1 / 16 / 6,2/1 7.5/1 2/1 12/1 123/1 2.1/1 12.1/1";
# la tienne
preg_match_all('/[^0-9][0-9]{1,3}\\,[0-9]{1}\/1|[^0-9][0-9]{0,3}\.?[0-9]\/1/',$page,$tableau);
echo "Ta regex\n";
foreach ($tableau as $elem){
print_r($elem);
echo"\n";
}
# la mienne seulement avec .
preg_match_all('/\s[0-9]{1,3}\.?[0-9]?\/1/',$page,$tableau);
echo "avec le point\n";
foreach ($tableau as $elem){
print_r($elem);
echo"\n";
}
# la mienne avec point et virgule
preg_match_all('/\s[0-9]{1,3}[.,]?[0-9]?\/1/',$page,$tableau);
echo "avec point + virgule\n";
foreach ($tableau as $elem){
print_r($elem);
echo"\n";
}
?>
lami20j@debian:~/trash$ php script.php
Ta regex
Array
(
[0] => 2,5/1
[1] => 2,2/1
[2] => 6,2/1
)
avec le point
Array
(
[0] => 145/1
[1] => 49/1
[2] => 83/1
[3] => 37/1
[4] => 8/1
[5] => 16/1
[6] => 78/1
[7] => 100/1
[8] => 14/1
[9] => 24/1
[10] => 29/1
[11] => 94/1
[12] => 28/1
[13] => 7.5/1
[14] => 2/1
[15] => 12/1
[16] => 123/1
[17] => 2.1/1
[18] => 12.1/1
)
avec point + virgule
Array
(
[0] => 145/1
[1] => 49/1
[2] => 83/1
[3] => 37/1
[4] => 8/1
[5] => 16/1
[6] => 78/1
[7] => 2,5/1
[8] => 100/1
[9] => 14/1
[10] => 24/1
[11] => 2,2/1
[12] => 29/1
[13] => 94/1
[14] => 28/1
[15] => 6,2/1
[16] => 7.5/1
[17] => 2/1
[18] => 12/1
[19] => 123/1
[20] => 2.1/1
[21] => 12.1/1
)
106485010510997108