jadu
Messages postés217Date d'inscriptionmercredi 26 juillet 2006StatutMembreDernière intervention16 août 2018
-
30 janv. 2008 à 17:07
jadu
Messages postés217Date d'inscriptionmercredi 26 juillet 2006StatutMembreDernière intervention16 août 2018
-
2 févr. 2008 à 20:24
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 !! )
Teclis01
Messages postés1423Date d'inscriptionmardi 14 décembre 2004StatutMembreDernière intervention29 décembre 20124 30 janv. 2008 à 17:53
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
the_number_9
Messages postés10Date d'inscriptionlundi 14 mai 2007StatutMembreDernière intervention31 janvier 2008 30 janv. 2008 à 18:46
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
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
jadu
Messages postés217Date d'inscriptionmercredi 26 juillet 2006StatutMembreDernière intervention16 août 2018 1 févr. 2008 à 18:11
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 !
jadu
Messages postés217Date d'inscriptionmercredi 26 juillet 2006StatutMembreDernière intervention16 août 2018 2 févr. 2008 à 20:24
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 !