Analyseur de chaine (moteur de b.o.t)

Soyez le premier à donner votre avis sur cette source.

Vue 4 447 fois - Téléchargée 244 fois

Description

jai ecrit ce script a la base pour faire un BOT en Php
il fonctionne sur le principe de 'hit' c a d quil va analyser une chaine de caractere mot par mot et regarder dans sa base de donnee les occurences qui revienne, il contabilise (les hit) les lignes ayant le plus doccurences, en tire des 'scores' et renvois la reponse associé a la ligne 'gagnante'!!!

je sais pas si jme suis bien exprimé!

bref, ca marche parfaitement (en theorie) quand la base de donnee est correctement construite!

les appelles a la bases de donnee sont monstrueux, surtout que cest pas tres bien codé!
mais bon...

Source / Exemple :


<?
$text=chop($text);
$text=strtolower($text);
$table=explode(" ",$text);

//explose la requete et boucle chaque mot
while(list($key,$mot)=each($table))
{
 $table_bdd=mysql_query("select * from bot");
 while($info_bdd=mysql_fetch_array($table_bdd))
 {
   $sous_table_bdd=explode(" ",$info_bdd[clef]);

   //explose la clee de chaque ligne de la BDD
   while(list($key_bdd,$mot_bdd)=each($sous_table_bdd))
   {
     //verif de correspondance entre la clee stoké et la requete
     if($mot_bdd==$mot)
     {
      $comptage=$info_bdd[id];
      if(empty(${$comptage}))
      {
        ${$comptage}=1;
        //echo "init =>";
      }
      else
      {
        ${$comptage}++;
      }
      //echo "ID=$comptage // valeur=${$comptage} <br>";
     }
   }
 }
}
//fin de lanalyse,comptage des scores
$comptage_ret=0;
$table_bdd=mysql_query("select * from bot");
while($info_bdd=mysql_fetch_array($table_bdd))
{
 $comptage=$info_bdd[id];
 if(${$comptage}>$comptage_ret)
 {
  $scoremax=${$comptage};

 }
$comptage_ret=${$comptage};
}
//echo "score max:$scoremax<br>";

$table_bdd=mysql_query("select * from bot");
while($info_bdd=mysql_fetch_array($table_bdd))
{
 $comptage=$info_bdd[id];
 if(${$comptage}==$scoremax)
 {
   if(!isset($scoremax_table))
    $scoremax_table=array($comptage);
   else
    array_push($scoremax_table,$comptage);
 }
}
$nb_idmax=sizeof($scoremax_table);
//print_r($scoremax_table);
//echo "<br>nb ligne max: $nb_idmax";
//fin du comptage des scores des ID

//selection aleatoir de l'ID
srand((double)microtime()*1000000);
$id=rand(1,$nb_idmax);
$id--;
//echo "<br>id=$scoremax_table[$id]";

//prelevage de la replique associé a l'id
$table_bdd=mysql_query("select * from bot where id=$scoremax_table[$id]");
$info_bdd=mysql_fetch_array($table_bdd);
//echo "<br><b>$info_bdd[bot]</b>";
$retour=$info_bdd[bot];

?>

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

igratuit
Messages postés
32
Date d'inscription
lundi 17 janvier 2005
Statut
Membre
Dernière intervention
5 mai 2006

Bonjour,

Bravo pour cette source, je voulais justement voir impeu comment sa marche pour m'en faire un pour le fun !!
10/10 !

Cordialement,
Igratuit.
cs_Tortuegeniale
Messages postés
1123
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
26 juin 2008
1
euh je vois pas l'utilité lol (enfin g pas trop cherché faut dire lol) et pour la note beaucoup trop elever pour la simplicité de la source ...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.