bonjours tout le monde,
j'ai un probleme avec la fonction preg_match_all.
mon probleme et le suivant: je veux extraire une donnée d'un site web pour cela j'ai utiliser le fonction preg_match_all le site c le site est le suivant:
$url="http://www.reuters.com/finance/stocks/ratios?symbol=IBM.N&rpc=66".
j'ai utiliser la fonction:
preg_match_all("/(<([\w]+)[^>]*>)([^<]*)(<\/\\2>)/", $html, $matches);
ca marcher mais le probleme c que j'ai utliser un fonction de recherche pour extraire les different données mais ca marche pa pourtant ca marche pour les autres sites.
la fonction de recherche et la suivante:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| function recherches($chain,$matches)
{
$i=0;
$trouve=1;
while(($trouve==1)&&($i<count($matches[0])))
{
$index = key($matches[0]);
if((strcmp(strip_tags($matches[0][$index]),$chain))==0)
{
$trouve=0;
break;
}
$i++;
next($matches[0]);
}
if($trouve==0)
return $index;
else
{
echo "le champs==> ".$chain." <==n'existe pas";
return NULL;
}
} |
NB: le programe ca marche pour les autres sites mais pour reuters non
Partager