Bonjour tout le monde,
Je pose la question si par hasard quelqu'un avait déjà passé par le "calcul de la densité des mots-clés sur une page".
Pour ouvrir une url : voici mon code:
$fd = @fopen($url, "r");
if (!$fd) {
echo "Impossible d'ouvrir $url\n";
return false;
}
$contenu_fichier = "";
//Lit le fichier par blocs de 8 k.
while ($bloc = fread($fd, 8192)) {
echo ".";
$contenu_fichier .= $bloc;
}
fclose($fd);
J'obtient donc dans la varible $contenu_fichier le code HTML de l'url ( la page).
voici la fonction qui recupère le contenu de la page ( ie le code source sans les balises et les javascripts ainsi que les feuilles de style CSS.
function notag($txt)
{
//Supprime les contenus des balises Javascript
$txt = preg_replace("/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/","", $txt);
$txt = preg_replace("/(?:<SCRIPT.*?>)((\n|\r|.)*?)(?:<\/SCRIPT>)/","", $txt);
//Supprime les contenus des balises style CSS
$txt = preg_replace("/(?:<style.*?>)((\n|\r|.)*?)(?:<\/style>)/","", $txt);
$txt = preg_replace("/(?:<STYLE.*?>)((\n|\r|.)*?)(?:<\/STYLE>)/","", $txt);
// Vire les balises
$pattern = "<[^>]+>";
// remplace par vide
return(ereg_replace($pattern,"",$txt));
}
d'ou $contenu = notag( $contenu_fichier ); et j'obient le contenu de la page.
Mon but est maitenant de savoir la densité de chaque mot ( en dehors des : le ,la,les,pour,de ,du,...)
Pour une expression à un mot : mots1 ,la formule est densite( mots1) = nombre de fois où le mot apparraît / nombre totale des mots.
Or il est possible aussi qu'une expression a deux mots ou trois mots ou quatre mots ...
c'est à dire pour une expression a deux mots: densite( mots1 mots2 )= nombre de fois où l'expression ( mots1 mots2) apparraît / nombre totale des mots.
et ainsi de suite.
Le résultat que je veux obtenir est du genre : http://www.outils-referencement.com/outils/mots-cles/densite
Si vous avez une idée pour l'algorithme ou une portion de code,çà m'aidera sûrement.
Merci.
JabsDev 