Calculer le poids d'un mots de chaine en php
hadjir
Messages postés
107
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
j'ai une question :
j'ai une chaine de caractére et :
1- je calcule le nomres d'occurence de chaque mot.
2- et je calcule le nombre de mots dans la chaine de caractére.
maintenant je cherche comment calculer le poids de chaque mot c-à-d poids d'un mot = le nombre d'occurence de mot / le nombre totale de mots dans la chaine.
exmple :
chaine : "algerie algerie annonces algerie classifids annonce annonces algerie annonces algerie "
le mot : algerie, le nombre d'occurence : 4
le nombre totale de mot dans la chaine : 10
le poids = 4/10 = 0.4
le code :
<?php
$champs1='algerie algerie annonces algerie classifids annonce annonces algerie annonces algerie';
$motsExclus = array("un","une","de","des","le","les","la")
if( preg_match_all('`\w{2,}`', $champs1, $result) )
{
// Remplacement des mots exclus par rien
$result[0] = preg_replace('`\b(' . implode($motsExclus, '|') . ')\b`i', '', $result[0]);
// Suppression des éléments vides avec array_filter()
$result[0] = array_filter($result[0]);
// Tableau des occurences
$stats = array_count_values($result[0]);
While (list ($cle,$valeur) = each($stats))
{
echo $cle." - ".$valeur."<br />";
}
}
$champs11=implode(" ", $result[0]);
echo ("$champs11"); print"<br><br>";
//calculer le nombres de mots dans une chaine de caractére N
$str = str_replace("é", "e", "$champs11");
$str1=str_replace ("è","e","$str");
echo ("$str1"); print "<br><br>";
$N=str_word_count($str1); //compte le nombre de mots dans la chaine
echo ("$N"); // affiche le résultat
?>
svp a ce qu'il ya qlq peut me répondre.
merci d'avance.
j'ai une question :
j'ai une chaine de caractére et :
1- je calcule le nomres d'occurence de chaque mot.
2- et je calcule le nombre de mots dans la chaine de caractére.
maintenant je cherche comment calculer le poids de chaque mot c-à-d poids d'un mot = le nombre d'occurence de mot / le nombre totale de mots dans la chaine.
exmple :
chaine : "algerie algerie annonces algerie classifids annonce annonces algerie annonces algerie "
le mot : algerie, le nombre d'occurence : 4
le nombre totale de mot dans la chaine : 10
le poids = 4/10 = 0.4
le code :
<?php
$champs1='algerie algerie annonces algerie classifids annonce annonces algerie annonces algerie';
$motsExclus = array("un","une","de","des","le","les","la")
if( preg_match_all('`\w{2,}`', $champs1, $result) )
{
// Remplacement des mots exclus par rien
$result[0] = preg_replace('`\b(' . implode($motsExclus, '|') . ')\b`i', '', $result[0]);
// Suppression des éléments vides avec array_filter()
$result[0] = array_filter($result[0]);
// Tableau des occurences
$stats = array_count_values($result[0]);
While (list ($cle,$valeur) = each($stats))
{
echo $cle." - ".$valeur."<br />";
}
}
$champs11=implode(" ", $result[0]);
echo ("$champs11"); print"<br><br>";
//calculer le nombres de mots dans une chaine de caractére N
$str = str_replace("é", "e", "$champs11");
$str1=str_replace ("è","e","$str");
echo ("$str1"); print "<br><br>";
$N=str_word_count($str1); //compte le nombre de mots dans la chaine
echo ("$N"); // affiche le résultat
?>
svp a ce qu'il ya qlq peut me répondre.
merci d'avance.
A voir également:
- Calculer le poids d'un mots de chaine en php
- Réduire le poids d'un pdf - Guide
- Comment calculer la moyenne sur excel - Guide
- Chaine tnt gratuite sur mobile - Guide
- Trousseau mot de passe iphone - Guide
- Plus de chaine tv - Guide
2 réponses
<?
$liste=array("exclus","vides","mots","algerie");
$texte="algerie algerie annonces algerie classifids annonce annonces algerie annonces algerie';
// Remplacement des mots exclus par rien
// Suppression des éléments vides avec
// Tableau des occurences
// calculer le nombres de mots dans une chaine de caractére N
// compte le nombre de mots dans la chaine
// affiche le résultat
";
echo "<PRE>";
$lines=explode("\n",$texte);
foreach ( $lines as $line) {
$mots=explode (" ",$line);
foreach ( $mots as $mot ){
if ( strlen($mot) < 3 ) continue ;
foreach ($liste as $ch ) if ( $mot == $ch ) $tab[$ch]++ ;
}
}
print_r($tab);
?>
$liste=array("exclus","vides","mots","algerie");
$texte="algerie algerie annonces algerie classifids annonce annonces algerie annonces algerie';
// Remplacement des mots exclus par rien
// Suppression des éléments vides avec
// Tableau des occurences
// calculer le nombres de mots dans une chaine de caractére N
// compte le nombre de mots dans la chaine
// affiche le résultat
";
echo "<PRE>";
$lines=explode("\n",$texte);
foreach ( $lines as $line) {
$mots=explode (" ",$line);
foreach ( $mots as $mot ){
if ( strlen($mot) < 3 ) continue ;
foreach ($liste as $ch ) if ( $mot == $ch ) $tab[$ch]++ ;
}
}
print_r($tab);
?>