Alléger mon code php tagcloud
faboons
Messages postés
284
Statut
Membre
-
faboons Messages postés 284 Statut Membre -
faboons Messages postés 284 Statut Membre -
Bonsoir à tous,
J'ai le code suivant d'un site qui n'est pas encore finalisé (J'ai mis le css dans la page pour faire les essais):
Il s'agit de récupérer tous les mots des pages web de mon site, d'enlever les chiffres, les mots de moins de 4 lettres et les tags html.
Ensuite, je compte les occurrences de chaque mot pour savoir lesquels sont les plus utilisés.
Ensuite, j'utilise les 5 premiers résultats pour créer mon nuage de mots-clés.
J'ai 3 problèmes :
- Il me reste quelques tags html,
- Je pense que mon code est 1 peu lourd et qu'on peut l'alléger,
- A la fin du code, je ne parviens pas à récupérer dans l'array les 5 premiers résultats de façon automatique.
Merci.
Fab.
J'ai le code suivant d'un site qui n'est pas encore finalisé (J'ai mis le css dans la page pour faire les essais):
Il s'agit de récupérer tous les mots des pages web de mon site, d'enlever les chiffres, les mots de moins de 4 lettres et les tags html.
Ensuite, je compte les occurrences de chaque mot pour savoir lesquels sont les plus utilisés.
Ensuite, j'utilise les 5 premiers résultats pour créer mon nuage de mots-clés.
J'ai 3 problèmes :
- Il me reste quelques tags html,
- Je pense que mon code est 1 peu lourd et qu'on peut l'alléger,
- A la fin du code, je ne parviens pas à récupérer dans l'array les 5 premiers résultats de façon automatique.
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
// Ajout du contenu de chaque fichier
$file = file_get_contents('blabla.php');
$file .= file_get_contents('blabla2.php');
$file .= file_get_contents('blabla3.php');
etc...
function convertpunctuation($string){
$string = str_replace(
array(mes stop words),
array(caractères de remplacement),
strtolower($string));
return $string;
}
$file = convertpunctuation($file);
$file = strip_tags($file); // Enlève les tags html
$file = preg_replace('/\-?\d+/'," ",$file); //Enlève les chiffres
$regs1 = preg_split("/[^[:alpha:]]+/", $file); // Délimite les mots entre crochets
$regs2 = preg_replace("/\b[^ ]{1,3}\b/", "", $regs1); // Supprime les mots de moins de 4 caractères
$separated = implode(" ", $regs2);
$tab_copie = $separated; // copie de la table
$occurences = array_count_values(str_word_count(strtolower(str_replace("'", ' ', $tab_copie)), 1));
natsort($occurences);
$order = array_reverse($occurences);
$flip = array_flip($order);
/* foreach($order as $key => $value) {
echo $key.': '.$value.' occurence(s)<br />';
} */
//print_r($flip);
echo '<style type="text/css">
#tag-cloud {
margin: 0;
padding: 0;
width: 100%;
position: relative;
}
#tag-cloud li {
display: block;
}
#tag-cloud li {
display: block;
position: absolute;
}
#tag-cloud #css {
top: 0;
left: 0;
}
#tag-cloud #xhtml {
top: 0;
right: 2em;
}
#tag-cloud #ia {
top: 2em;
left: 40%;
}
#tag-cloud #wiki {
top: 4em;
left: 0;
}
#tag-cloud #web20 {
top: 4em;
right: 1em;
}
#tag-cloud a {
text-decoration: none;
}
#tag-cloud #css a:link,
#tag-cloud #css a:visited,
#tag-cloud #css a:hover {
text-transform: uppercase;
color: #fa0;
font: bold 1.6em/normal Arial, sans-serif;
}
#tag-cloud #xhtml a:link,
#tag-cloud #xhtml a:visited,
#tag-cloud #xhtml a:hover {
text-transform: lowercase;
color: #0af;
font: bold 2em/normal "Trebuchet MS", Trebuchet, sans-serif;
}
#tag-cloud #ia a:link,
#tag-cloud #ia a:visited,
#tag-cloud #ia a:hover {
color: #0c0;
font: bold 3em/normal Impact, sans-serif;
}
#tag-cloud #wiki a:link,
#tag-cloud #wiki a:visited,
#tag-cloud #wiki a:hover {
color: #999;
font: small-caps 4em/normal "Arial Narrow", Arial, sans-serif;
text-transform: lowercase;
}
#tag-cloud #web20 a:link,
#tag-cloud #web20 a:visited,
#tag-cloud #web20 a:hover {
color: #c0c;
font: bold 1.2em/normal Georgia, serif;
text-transform: uppercase;
}
#tag-cloud #ia {
position: static;
text-align: center;
padding-top: 2em;
list-style: none;
}
#tag-cloud #wiki, #tag-cloud #web20 {
top: auto;
}
</style>
<ul id="tag-cloud">
<li id="css"><a href="#">'.$flip[81].'</a></li>
<li id="xhtml"><a href="#">'.$flip[53].'</a></li>
<li id="ia"><a href="#">'.$flip[51].'</a></li>
<li id="wiki"><a href="#">'.$flip[49].'</a></li>
<li id="web20"><a href="#">'.$flip[31].'</a></li>
</ul>';
?>
Merci.
Fab.
A voir également:
- Alléger mon code php tagcloud
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages