Détecteer les mots clé

Signaler
Messages postés
217
Date d'inscription
mercredi 26 juillet 2006
Statut
Membre
Dernière intervention
16 août 2018
-
Messages postés
217
Date d'inscription
mercredi 26 juillet 2006
Statut
Membre
Dernière intervention
16 août 2018
-
bonjour à tous !
j'ai bien épluché le forum   , et je n'ai pas du tout vu ce que je recherche !!! c'est la première fois !!!

bon, voilà. Nous savons tous que les mots clé d'un texte sont à placer en <meta>, n'est-ce-pas ?

Mais je voudrais trouver un 'truc' qui listerait un texte en ne gardant que les mots de plus de cinq lettres ( why not ?)
et qui indique pour chacun combien de fois il est dans le texte.

par exemple en faisant tourner ce 'truc' sur l'ensemble de mon texte ci-dessus il répondrait :
 
bonjour..........1
épluché..........1
forum.............1
recherche.......1
première........1
voilà..............1
savons...........1
texte..............4
placer............1
voudrais........1
trouver..........1
listerait .........1
gardant.........1
lettres...........1
indique.........1
chacun.........1
combien.......1
faisant..........1
tourner.........1
ci-dessus......1
répondrait.....1
----------------------------
Quelqu'un peut me donner une piste de travail ?.
Je suis débutant autodidacte (presque sexagénaire en plus  , j'ai du tezmps !! )

{{ind|<gras>Prenez bien soin de vous.

8 réponses

Messages postés
217
Date d'inscription
mercredi 26 juillet 2006
Statut
Membre
Dernière intervention
16 août 2018

Je découvre dessous mon message, le "classement " fait par Codes Sources !!!
Classé sous : mots, texte, clé, détecteer, truc

Ben, il ne manque que le nombre de fois et le tour est joué !!!!
Où est la source de ceci ?????

{{ind|<gras>Prenez bien soin de vous.
Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
4
ce que je ferais:
file_get_content('mapage')
je parserais pour ne garder que les interieurs de posts
je ferais un explode (sur les espaces pour avoir tous les mots dans une case)
je bouclerais sur mon Gros tableauuuuuuu *delire sur oh mon bateauuuuu*
Pardon
Je bouclerais donc pour chercher les strings de plus de x caracteres et je verifierais que ce sont bien des strings (cast...)

ensuite je rebouclerais sur mon tableau et je comparerais chaque case aux autres.
si je trouve une occurence, je ++ et je garde en memoire la/les cases de doublons
OU alors ptet que
je ferais un array_unique sur mon tab histoire de savoir cb de mot sont differents
et je bouclerais sur mos array unique puis array de reponse pour trouver le nombre d occurence

Ou alors ya bien mieux mais je suis mort

Dans tous les cas Good luck

--------------------------------------------------------------------------------------------------
         Il vaut mieux poser une question et passer pour bête que le rester toute sa vie
Messages postés
10
Date d'inscription
lundi 14 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2008

tu place tout les mots de ton texte dans un tableau avec la fonction split
ensuite tu compare chaque case de ton tableau pour savoir le nombre de fois qu'il y a le mot c'est pas très compliqué a faire
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Hello,

repartons du tableau puisque tout le monde te propose ça (str_split, explode, etc...y a le choix).
Et pour les occurences, restons simples :
http://www.php.net/manual/en/function.array-count-values.php
Messages postés
217
Date d'inscription
mercredi 26 juillet 2006
Statut
Membre
Dernière intervention
16 août 2018

http://www.php.net/manual/en/function.array-count-values.php

Super !
Je n'avais pas vu cela dans le manuel !!!
Je crois que je ne me réfère pas assez à ce manuel PHP en ligne !
C'est tout à fait ce qu'il me faut comme base.
Je vais m'y mettre dès à présent. hummmm je vais me régaler

Merci Malalam !

Prenez bien soin de vous.</sup>
Messages postés
217
Date d'inscription
mercredi 26 juillet 2006
Statut
Membre
Dernière intervention
16 août 2018

Finalement, j'ai écrit ceci :

print_r(array_count_values(explode (' ', $text)));
où $test est un texte pour le moment !

mais c'est pas fini !!!

j'y retourne !

{{ind|<gras>Prenez bien soin de vous.
Messages postés
217
Date d'inscription
mercredi 26 juillet 2006
Statut
Membre
Dernière intervention
16 août 2018

je suis arrivé à ceci :

<?php
// occurences dans un texte
// essai n° 0001
$text="Le plugin Flash 9.0.115.0 est requis pour voir le contenu de ce site, mais nous avons détecté le plugin Flash 9,0,45,0 dans votre navigateur. Veuillez cliquer sur l’image ci-dessous afin de télécharger la dernière version de Flash sur le site web d’Adobe. Une fois que vous aurez installé la dernière version de Flash, fermez toutes les fenêtres de votre navigateur Internet et cliquez à nouveau sur le lien de l’enquête afin d’y accéder à l’aide de la dernière version du plugin Flash.";


// ************ on éclate le texte en mots séparés
$nbcar=iconv_strlen($text,'');
print "Nombre de caractères utilisés : ".$nbcar."\n";
echo '
______________________________________________
';
// ************ et nombre de mots utilisés
$nbm=count(preg_split('`\\W`', $text, -1, PREG_SPLIT_NO_EMPTY));
print "Nombre de mots utilisés :".$nbm."\n";
echo '
______________________________________________
';
$rst=array_count_values(explode (' ', $text));
print_r($rst);
echo '
______________________________________________
';
// on ne veut garder que les mots de plus de cinq lettres
$rr=preg_split("/[\s,]+/", $text);
$s = 0;
while($s != $nbm)
  {
    if (strlen($rr["$s"])>=5)
    {
    echo $s.' | ';
    print_r($rr["$s"]);
    echo ' | '.strlen($rr["$s"]);
    echo '
';
    }
  $s++;
  }


echo '<hr />';
?>

Mais je n'arrive pas à joindre les deux types d'information : la taille des mots et le nombre de fois qu'ils existent dans le texte !

Bon, je sais bien que je suis pas bon ! Aidez-moi au lieu de rigoler !





<sup>
<sub>


Prenez bien soin de vous.
</sub>
</sup>
Messages postés
217
Date d'inscription
mercredi 26 juillet 2006
Statut
Membre
Dernière intervention
16 août 2018

Coucou !

çà n'int"resse que moi, mais comme j'ai commencé un post  !!!

voilà l'état d'avancement des travaux :

<?php
// occurences dans un texte
// essai n° 0001
//file_get_content('mapage')
$text="Le plugin Flash 9.0.115.0 est requis pour voir le contenu de ce site, mais nous avons détecté le plugin Flash 9,0,45,0 dans votre navigateur. Veuillez cliquer sur l’image ci-dessous afin de télécharger la dernière version de Flash sur le site web d’Adobe. Une fois que vous aurez installé la dernière version de Flash, fermez toutes les fenêtres de votre navigateur Internet et cliquez à nouveau sur le lien de l’enquête afin d’y accéder à l’aide de la dernière version du plugin Flash.";


// ************ on éclate le texte en mots séparés
$nbcar=iconv_strlen($text,'');
echo "Nombre de caractères utilisés : ".$nbcar."\n";
echo '______________________________________________
';
// ************ et nombre de mots utilisés
$nbm=count(preg_split('`\\W`', $text, -1, PREG_SPLIT_NO_EMPTY));
echo "Nombre de mots utilisés : ".$nbm."\n";
echo '______________________________________________
';
// **********************************************************
echo "Nombre de fois où chaque mot est utilisé (attention aux  , et . ) :
";
$a=explode (' ', $text);
sort($a);// vous verrez pourquoi ci-dessous ;-))
//$rst=array_count_values($a);
//print_r($rst);
$i=0;
while ($i<=$nbm)
{
if (isset($a[$i]))
  {
    if (strlen($a[$i])>=5)
    {
    if ($i == 0)
      {
      $h='0';
      }
      else
        {
        $h=$i-1;
        }
    //echo $i.'  *  ',$h.'
';
    $var1=$a[$h];
    $var2=$a[$i];
    if (isset($a[$h]))
      {
      if (strcasecmp($var1, $var2) == 0) //(comparaison insensible à la casse)
        {
        echo "
$var1 est égale à $var2 ";
        file_put_contents($final, ($a[$i]." - ".$i));// à améliorer encore
        }
      }
    }
  }
   $i++;
}
// à ce stade nous avons une liste triée des mots de 5 lettres et plus ( y compris le , et . mais tant pis !))
echo '
______________________________________________
';
?>

c'est pas mal, hein ? pour un sexagénaire débutant !





<sup>
<sub>


Prenez bien soin de vous.
</sub>
</sup>