Aller au contenu

Nombre d'occurence de chaque mot


Sujets conseillés

Posté

Bonjour :)

Je me suis fait un script pour un projet :rolleyes:

Il doit trouver l'occurence de chaque mot dans un texte ^_^

Seulement, je dois gérer des gros textes, voire des chapitres :boude:

Mais de cette maniere, je crois que $chaine = "ma chaine bla bla"; ne peut pas dépasser une certaine taille <_<

Comment remédier à ça ? manipuler autrement le texte ?

Je suis ouvert à tout :oops:

Merci d'avance :wub:

Poppy

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Document sans titre</title>
</head>

<body>

<?
// Connexion à la base de donnée
$dbhost = "localhost";
$dbuser ="root";
$dbpass="";
$dbbase="test";

mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbbase);


$chaine = "ma chaine bla bla ";
$chaine = strtolower($chaine);
$chaine = str_replace(",","",$chaine);
$chaine = str_replace(".","",$chaine);
$chaine = str_replace("-"," ",$chaine);
$chaine = str_replace("'","' ",$chaine);
$chaine = ltrim($chaine);


$mots[1]="zzzzzzzzzzzzzzzzzz";

while (strlen($chaine)>1 and mysql_num_rows(mysql_query("SELECT * FROM `occurence` WHERE mot=$mots[1]"))==0)
{


echo '<br />';

$mots = explode(" ", $chaine);


// Nombre de mots
$nbr = substr_count($chaine," ");

// Nombre d'occurence de ce mot
$j = 1;
for ($i=1; $i<$nbr; $i++)
{
if (strnatcmp($mots[0], $mots[$i])==0)
{
$j++;
}
}
echo '"'.$mots[0].'" apparait '.$j.' fois.<br />';
mysql_query("INSERT INTO `occurence` ( `id` , `mot` , `occurence` ) VALUES ('', '$mots[0]', '$j')");
$chaine = strstr($chaine," ");
$chaine = ltrim($chaine);
}


?>

</body>
</html>

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...