Vous êtes ici Codes PHP et MySQL > Chaînes > Compter le nombre de mots ayant un certain...

 

Compter le nombre de mots ayant un certain caractère

Ce code vous permettra de savoir dans combien de mots se trouve un tel caractère. Il propose 2 fonctions. La première permettant de trouver le nombre de mots contenant un certain caractère (par ex. tout les mots contenant 'e'). La deuxième fait la même chose mais sans tenir compte de la case (par ex. tout les mots contenant 'e' ou 'E')
 
mercier133
Site de l'auteur voir
[14] sources en PHP voir
Code vu 962 fois
Enregistré le 27 Mars 2010
  • Digg ce code sur digg.com
  • Bookmark ce code sur del.icio.us
  • Bookmark ce code sur Google
  • Bookmark ce code sur Yahoo
  • Ajoute Compter le nombre de mots ayant un certain caractère
  • Partage ce code sur Facebook
 
 
 
 

Code Source


01.
02.
03.
04.
05.
06.
07.
08.
09.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
 
<?php
/******************************************************************************/
/*                                                                            */
/*                       __        ____                                       */
/*                 ___  / /  ___  / __/__  __ _____________ ___               */
/*                / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-<               */
/*               / .__/_//_/ .__/___/\___/\_,_/_/  \__/\__/___/               */
/*              /_/       /_/                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : Compter le nombre de mots ayant un certain caractère      */
/*                                                                            */
/* URL            : http://www.phpsources.org/scripts581-PHP.htm              */
/* Auteur         : mercier133                                                */
/* Date édition   : 27 Mars 2010                                              */
/* Website auteur : http://www.servicesgratis.net                             */
/*                                                                            */
/******************************************************************************/
 

/*
 * @Entrée : $string un string et $c un caractère
 * @Sortie : (int) nombre de mot dans $string contenant la caractère $c
 */
function countWordsWithChar($string,$c){
    $mots preg_split("/[\s,;\.!\?:]+/"$string);
    $count 0;
    foreach($mots as $mot){
        if(preg_match("/$c/",$mot)){
            $count++;
        }
    }
    return $count;
}

/*
 * @Entrée : $string un string et $c un caractère
 * @Sortie : (int) nombre de mot dans $string contenant la caractère $c 
 * qu'il soit majuscule ou minuscule (insensible à la case)
 */
function countWordsWithCharCaseInsensitive($string,$c){
    $mots preg_split("/[\s,;\.!\?:]+/"$string);
    $count 0;
    foreach($mots as $mot){
        if(preg_match("/$c/i",$mot,$result)){
            $count++;
        }
    }
    return $count;
}

// Exemples : 
$a "Curabitur sed elit in velit cursus luctus. In vel tristique augue. Mauris eu" .
" urna sed diam bibendum vestibulum. Aliquam consequat venenatis tortor" .
" porttitor hendrerit. Fusce ut orci enim.";
$c "m";
echo "Il y a ".countWordsWithChar($a,$c)."  mots contenant la lettre ".$c.
" dans la phrase <i>".$a."</i><br />";
echo "Il y a ".countWordsWithCharCaseInsensitive($a,$c).
" mots contenant la lettre ".$c." dans la phrase <i>".$a."</i><br />";
?>

 

Fonctions du code

: Éclate une chaîne par expression rationnelle - (PHP 4, PHP 5)
: Expression rationnelle standard - (PHP 4, PHP 5)
: Affiche une chaîne de caractères - (PHP 4, PHP 5)
Commentaires
ca aurait été bien un ptit pourcentage, connaitre ensuite la densité du mot dans le texte.
 
Tu peux utiliser pour cela la fonction str_word_count($a) qui te renvoi le nombre de mot contenu dans $a
echo "La densité de mot contenant  <i>".$c ."</i> est de ".
(countWordsWithCharCaseInsensitive($a,$c)/str_word_count($a))
.
" dans la phrase <i>".$a."</i><br />";

echo "Le pourcentage de mot contenant  <i>".$c ."</i> est de ".
(100*countWordsWithCharCaseInsensitive($a,$c)/str_word_count($a))
.
"% dans la phrase <i>".$a."</i><br />";
 
Ajouter un commentaire
Code de sécurité

Attention: Les champs marqués d'une étoile * sont obligatoires
 
Librairie PHP

Connexion

 
 

Chaînes

 
 

PHP

 
 
 
 
    Offres d'emploi

Plus de 500 offres d'emploi PHP/MySQL

Offres d'emploi
 
        Publicité