IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

le nombre d'occurences des mots d'un texte


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 48
    Points : 36
    Points
    36
    Par défaut le nombre d'occurences des mots d'un texte
    bonjour,
    j'ai un texte dans ma variable $text, à partir de là je voudrais recupérer dans un tableau les 20 mots les plus repandus dans le texte avec leurs occurences, comment je pourrai faire ca en php ?
    en vous remerciant par avance.

  2. #2
    Membre actif Avatar de speedy_g
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 213
    Points : 242
    Points
    242
    Par défaut
    Il y'a certainement mieux que ce que je vais proposer mais ca pourrait être une piste :.

    Se servir de preg_split pour créer un tableau de mots
    cfer http://www.php.net/manual/fr/function.preg-split.php

    A partir de celui-ci,
    Créer un tableau contenant les occurances de chacuns des mots :
    du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <?php
    $tab = preg_split....
    $occurences = array();
     
    foreach($tab as $mot)
    {
        if(array_key_exists($mot,$tab))
        {
              $occurences[$mot] += 1; 
        }
        else
       {   
           $occurences[$mot] = 0;
        }
    }
     
    ?>
    Ensuite mettre de l'ordre dans le tableau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sort($occurences);
    Ensuite retourner le tableau et récupérer les 20 premiers
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $occur = array_flip($occurences);
    $motslesplusvus = $occur[1:(20%count($occur))];

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 48
    Points : 36
    Points
    36
    Par défaut
    merci beaucoup l'ami , je vais tester ca , je pense que ca fera l'affaire

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 48
    Points : 36
    Points
    36
    Par défaut
    il y'a quelques petites modifs à faire quand meme pour que cela fonctionne ,
    if(array_key_exists($mot,$occurences)).

    il faut ensuite utiliser array_multisort($occurences,SORT_DESC,SORT_NUMERIC).

    et on ne peut pas faire un array_flip car plusieurs mots peuvent avoir le meme nombre d'occurences et donc on aura une case pour chaque occurence.

    pour afficher les $n premiers resultat ,j'utilise $n_occurences=array_slice($occurences,0,$nombre);

    mais ton aide m'a été très utile merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Déterminer le nombre d'occurences des mots dans un fichiers texte
    Par fraisa1985 dans le forum Général Java
    Réponses: 13
    Dernier message: 26/10/2021, 01h58
  2. Nombre d'occurrences des mots
    Par daniel1985 dans le forum Général Java
    Réponses: 11
    Dernier message: 26/03/2013, 10h12
  3. calculer le nombre d'occurence de mot dans une chaine
    Par hadjiphp dans le forum Langage
    Réponses: 8
    Dernier message: 20/04/2009, 11h06
  4. Organisation des mots d'un texte donne
    Par AlphaH dans le forum VBScript
    Réponses: 6
    Dernier message: 10/01/2008, 15h41
  5. comment supprimer des mots d'un texte
    Par visteur dans le forum Langage
    Réponses: 3
    Dernier message: 16/03/2006, 15h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo