Difficultés avec la fonction preg_match_all
Diamonds77
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
productif Messages postés 39 Date d'inscription Statut Membre Dernière intervention -
productif Messages postés 39 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'aimerais récupérer le nombre qui se situe entre les balises span. Le nombre peut varier !
J'ai essayé le code qui suit :
Malheureusent cela ne fonctionne pas. Je crois que ce sont les espaces qui me posent problème...
Mon code en entier :
Merci d'avance !
J'aimerais récupérer le nombre qui se situe entre les balises span. Le nombre peut varier !
<span class="topic-count">
::before
"
24
"
::after
</span>
J'ai essayé le code qui suit :
preg_match_all("#<span class=\"topic-count\">(.*?)</span>#", $source, $nombre[$i]);
Malheureusent cela ne fonctionne pas. Je crois que ce sont les espaces qui me posent problème...
Mon code en entier :
$result=array();
$page = 201;
while ($page>=1) {
$source = file_get_contents ("http://www.jeuxvideo.com/forums/0-27047-0-1-0-".$page."-0-counter-strike-global-offensive.htm");
preg_match_all("#<span class=\"topic-count\">(.*?)</span>#", $source, $nombre[$i]);
$result = array_merge($result, $nombre[$i][1]);
print("Page : ".$page ."\n");
$page-=25;
}
print_r ($nombre);
Merci d'avance !
A voir également:
- Difficultés avec la fonction preg_match_all
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide
- Fonction somme excel - Guide
1 réponse
Bonjour,
Je recommande de faire l'opération en plusieurs étapes (plusieurs appels à preg_match_all) : d'abord isoler la chaîne entre les balises span seulement, puis isoler une chaîne plus petite à l'intérieur et ainsi de suite.
Pour mettre au point les regex, je fais en Javascript d'abord : http://www.squarefree.com/shell/shell.html
Par exemple en Javascript:
=> 123
Ensuite il suffit d'adapter la syntaxe à celle de preg_match_all qui est légèrement différente.
voilà
Je recommande de faire l'opération en plusieurs étapes (plusieurs appels à preg_match_all) : d'abord isoler la chaîne entre les balises span seulement, puis isoler une chaîne plus petite à l'intérieur et ainsi de suite.
Pour mettre au point les regex, je fais en Javascript d'abord : http://www.squarefree.com/shell/shell.html
Par exemple en Javascript:
"<span>abc123def</span>".match(/[0-9]+/)
=> 123
Ensuite il suffit d'adapter la syntaxe à celle de preg_match_all qui est légèrement différente.
voilà