1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
| function recuperer_donnees($p_tab_site)
{
$liens_ranges = array();
$j = 0;
for($i=0; $i<sizeof($p_tab_site); $i++)
{
$site = trim($p_tab_site[$i]);
if($site!="")
{
echo "<b>".$site."</b><br /><br />";
// Chemin du fichier xml d'un site
if(stripos($site, "http://")=== false)
{
$xml_f = "http://".$site."/sitemap.xml";
}
else
{
$xml_f = $site."/sitemap.xml";
}
$contenu_f = file_get_contents($xml_f);
if(sizeof($contenu_f)>0)
{
// Récuperation des liens internes du site à partir de son fichier xml
preg_match_all('#<loc>(.+)</loc>#i',$contenu_f,$liens_internes);
foreach($liens_internes[1] as $site_name)
{
// Recupération des liens externes à partir d'un lien interne du site
$contenu_site = file_get_contents($site_name);
preg_match_all('#<a(.+)>(.+)</a>#i', $contenu_site, $liens_site);
foreach($liens_site[1] as $cle_li => $lien_li)
{
$pos_nf = stripos($lien_li, "nofollow");
if($pos_nf === false)
{
preg_match_all("|href=[\"\'](.*)[\"\']|U", $lien_li, $regs);
foreach($regs[1] as $lien_li)
{
if(stripos($lien_li, $site) === false)
{
if(stripos($lien_li, "#") === false)
{
if(stripos($lien_li, "http:") !== false)
{
$liens_ranges[$site_name][] = array('URL'=>$lien_li, 'CHEMIN'=>$liens_site[2][$cle_li]);
}
}
}
}
}
}
$j++;
}
return $liens_ranges;
echo "Nombre de liens internes depuis le fichier xml : ".$j."<br /><br /><br /><br />";
}
else
{
$message_erreur = "MESSAGE ERROR : ".$site." don't have sitemap.xml<br />";
$message_erreur .= "http://".$site."/sitemap.xml<br /><br /><br /><br />";
return $message_erreur;
}
}
}
} |
Partager