par
NicoViz » 24 févr. 2009, 15:56
Salut à tous, j'essaye de coder un robot de référencement. J'utilise file_get_contents() pour obtenir le code source fonction preg_replace() pour trouver les infos (titre, description, mots-clés, langue, et les liens). Problème : Mes regex ne fonctionnent pas et j'enregistre tout le code source au lieu d'isoler uniquement ce qui est entre les <title></title> ou <meta> par exemple.
Voici mes regex:
$source=file_get_contents($site); // On récupère le code source
$titre=preg_replace('#<title>(.+)</title>#i', '$1', ''.$source.''); // On capture le titre du site
$description=preg_replace('#<head>.*<meta name="description" content="(.+)" *>.*</head>#i', '$1', ''.$source.''); // On capture la description contenue dans la balise meta
$motcle= preg_replace('#<meta name="keywords" content="(.+)" />#i', '$1', ''.$source.''); // On capture les mots clés
$langue= preg_replace('#<meta name="language" content="(.+)" />#i', '$1', ''.$source.''); // On capture la langue
Salut à tous, j'essaye de coder un robot de référencement. J'utilise file_get_contents() pour obtenir le code source fonction preg_replace() pour trouver les infos (titre, description, mots-clés, langue, et les liens). Problème : Mes regex ne fonctionnent pas et j'enregistre tout le code source au lieu d'isoler uniquement ce qui est entre les <title></title> ou <meta> par exemple.
Voici mes regex:
[php]
$source=file_get_contents($site); // On récupère le code source
$titre=preg_replace('#<title>(.+)</title>#i', '$1', ''.$source.''); // On capture le titre du site
$description=preg_replace('#<head>.*<meta name="description" content="(.+)" *>.*</head>#i', '$1', ''.$source.''); // On capture la description contenue dans la balise meta
$motcle= preg_replace('#<meta name="keywords" content="(.+)" />#i', '$1', ''.$source.''); // On capture les mots clés
$langue= preg_replace('#<meta name="language" content="(.+)" />#i', '$1', ''.$source.''); // On capture la langue[/php]