Accueil > > > GÉNÉRATEUR DE BALISE META KEYWORDS
GÉNÉRATEUR DE BALISE META KEYWORDS
Information sur la source
Description
Ceci est un script permettant de générer une balise META Keywords automatiquement. Dans l'exemple, la fonction est appelée par : keywords($chaine,1000); $chaine doit contenir le texte de votre page, par exemple, et 1000 représente le nombre maximum de caractères que vous souhaitez dans la balise keywords. Un tableau $bad_word est créé, il contient tous les mots que vous ne souhaitez pas voir apparaitre dans vos keywords. Il est donc à compléter. La 1ère fonction utilisée (unaccent); n'est pas de moi, mais est très souvent utilisée dans nombre de codes sources. Mise à jour et autre codes PHP sur http://www.parse-error.com
Source
- <?php
- /**
- * Générateur de balise keywords
- *
- * @copyright Copyright (C) 2010 Parse Error http://www.parse-error.com
- */
-
- /* Fonction qui supprime les accents dans une chaîne */
- function unaccent($text)
- {
- $trans = get_html_translation_table(HTML_ENTITIES);
- foreach ($trans as $literal => $entity)
- {
- if (ord($literal) >= 192) {
- $replace[] = substr($entity, 1, 1);
- $search[] = $literal;
- }
- }
- return str_replace($search, $replace, $text);
- }
- /* Fonction qui génère les keywords */
- function keywords($string, $max_length_keywords)
- {
- $noTag = html_entity_decode(strip_tags(trim($noTag))); // On nettoie la chaine
- $noTag = preg_replace('/[\n\r\t]/', ' ', $noTag); // On élimine les retours chariot, retours à la ligne et tabulations
-
- $string = strtolower($string); // Met tout en minuscule
- $string = unaccent($string); // Enleve les accents
- $string = eregi_replace("[^A-Z\']", " ", $string); // Enlève tout ce qui n'est pas alphabétique ou une apostrophe
- $string = preg_replace('#(^| +)[a-zA-Z]{1,2}\'#', ' ', $string); // Enleve les apostrophes
-
- $words = explode(' ', $string); // Scinde la chaine en tableau
-
- /* Effacement des mots non significatifs (Tableau exemple à compléter) */
- $bad_word = array ('des', 'est', 'avec', 'les', 'une', 'sur', 'nous', 'qui', 'que', 'par', 'pas', 'dans', 'leur', 'ont', 'pour', 'sont', 'plus', 'ndlr', 'ceux', 'ceci', 'cela','cette');
- $words = array_diff($words, $bad_word);
-
- /* Suppression des entrées de moins de trois caractères */
- foreach($words as $cle=>$valeur)
- {
- if(strlen($valeur) > 2)
- {
- $words2[]=$words[$cle];
- }
- }
-
- $freq = array_count_values($words2); // Calcul du nombre d'occurences de chaque entrée
- arsort($freq); // Tri du tableau associatif en fonction des valeurs
-
- /* Création de la chaine de sortie */
- $keywords='';
- foreach ($freq as $tk => $tv)
- {
- if($keywords!='') $keywords .= ', '.$tk;
- else $keywords=$tk;
- }
-
- if(strlen($keywords)>$max_length_keywords)
- {
- $keywords=substr($keywords,1,$max_length_keywords); // On coupe à $max_length_keywords caractères
- $keywords=substr($keywords,0,strlen($keywords)-strlen(strrchr($keywords,','))); // Coupe propre après le dernier mot clé
- }
-
- return $keywords;
- }
- $chaine="Ce texte, <br />rédigé aujourd'hui, le 09 mars de l'année 2010, est un texte piège, avec des chiffres, des apostrophes mal placées, de la ponctuation... et du <b>HTML</b> !!!";
- echo keywords($chaine,1000);
- ?>
<?php
/**
* Générateur de balise keywords
*
* @copyright Copyright (C) 2010 Parse Error http://www.parse-error.com
*/
/* Fonction qui supprime les accents dans une chaîne */
function unaccent($text)
{
$trans = get_html_translation_table(HTML_ENTITIES);
foreach ($trans as $literal => $entity)
{
if (ord($literal) >= 192) {
$replace[] = substr($entity, 1, 1);
$search[] = $literal;
}
}
return str_replace($search, $replace, $text);
}
/* Fonction qui génère les keywords */
function keywords($string, $max_length_keywords)
{
$noTag = html_entity_decode(strip_tags(trim($noTag))); // On nettoie la chaine
$noTag = preg_replace('/[\n\r\t]/', ' ', $noTag); // On élimine les retours chariot, retours à la ligne et tabulations
$string = strtolower($string); // Met tout en minuscule
$string = unaccent($string); // Enleve les accents
$string = eregi_replace("[^A-Z\']", " ", $string); // Enlève tout ce qui n'est pas alphabétique ou une apostrophe
$string = preg_replace('#(^| +)[a-zA-Z]{1,2}\'#', ' ', $string); // Enleve les apostrophes
$words = explode(' ', $string); // Scinde la chaine en tableau
/* Effacement des mots non significatifs (Tableau exemple à compléter) */
$bad_word = array ('des', 'est', 'avec', 'les', 'une', 'sur', 'nous', 'qui', 'que', 'par', 'pas', 'dans', 'leur', 'ont', 'pour', 'sont', 'plus', 'ndlr', 'ceux', 'ceci', 'cela','cette');
$words = array_diff($words, $bad_word);
/* Suppression des entrées de moins de trois caractères */
foreach($words as $cle=>$valeur)
{
if(strlen($valeur) > 2)
{
$words2[]=$words[$cle];
}
}
$freq = array_count_values($words2); // Calcul du nombre d'occurences de chaque entrée
arsort($freq); // Tri du tableau associatif en fonction des valeurs
/* Création de la chaine de sortie */
$keywords='';
foreach ($freq as $tk => $tv)
{
if($keywords!='') $keywords .= ', '.$tk;
else $keywords=$tk;
}
if(strlen($keywords)>$max_length_keywords)
{
$keywords=substr($keywords,1,$max_length_keywords); // On coupe à $max_length_keywords caractères
$keywords=substr($keywords,0,strlen($keywords)-strlen(strrchr($keywords,','))); // Coupe propre après le dernier mot clé
}
return $keywords;
}
$chaine="Ce texte, <br />rédigé aujourd'hui, le 09 mars de l'année 2010, est un texte piège, avec des chiffres, des apostrophes mal placées, de la ponctuation... et du <b>HTML</b> !!!";
echo keywords($chaine,1000);
?>
Historique
- 29 mars 2010 12:08:10 :
- Résolution d'un bug qui supprimait le dernier mot clé dans certains cas de figure.
Sources de la même categorie
RÉCUPÉRER LES MINIATURES D'UNE VIDÉO YOUTUBERÉCUPÉRER LES MINIATURES D'UNE VIDÉO YOUTUBE Le code est simple, il permet depuis une url youtube de récupérer son identifiant et de se connecter au serveur de miniatures pour en récupérer les im...
par tefa24600
CONVERTISSEUR DE NOMBRES EN TEXTECONVERTISSEUR DE NOMBRES EN TEXTEQu'est-ce ? Un convertisseur de nombre en texte.
Ses particularités?
- pas de limitation sur la taille du nombre (traitement en string, et non en ...
par macruz
CODAGE TEXTE >HTML, ISO, SPECIALCHARS, URL ET DECODAGECODAGE TEXTE >HTML, ISO, SPECIALCHARS, URL ET DECODAGECe script php permet, comme son nom l'indique de coder un texte pour remplacer les caractères spéciaux, ou apprendre à comprendre les htmlentities, sp...
par Salva9473
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
HELP!!pour Generateur de prog php... [ par webkiller51 ]
OU peut -on trouver un générateur de prog PHP merci Répondez c ttt urgent!!MERCI d'avance
balise <noscript> en php ??? [ par pyranhaz ]
Bonjour,existe-il une façon efficace en php de rediriger tout visiteur automatiquement qui n'a pas le "active scripting" d'activé sur sa machine ???il
Transmission de caractere accentue avec la balise <meta> en PHP [ par yandre100 ]
Salut Tout le monde. J'ai des problemes a transmettre des caracteres accentues en Php. J'utillise pour cela la balise meta comme ceci:<meta http-eq
Generateur etats php [ par manunam80 ]
Bonjour, Je suis à la recherche d'un générateur d'états avec un déploiement web et personnalisable avec PHP.J'ai entendu parler de AGATA report mais j
Génération de balise d'un fichier xml par PHP [ par wettanam ]
exemple du fichier xml<balise><nom>Olivier</nom><prenom>Melanger</prenom><email>OlivM@yahoo.fr</email></b
Balise php telechargement [ par keys ]
Bonjour tout le monde bien que j'ai lu certain post concernant ce sujet je n'ai pas trouvé de réponse appropriée car elle est, je pense
[req] Generateur RSS en php 5 sans mysql [ par greg1386 ]
Bonjour a tous voila j'ai un requete plutot simple je voudrai un generateur de flux RSS en PHP5 mais au lieu de sa baser sur une table SQL celui ci do
la balise meta [ par hou1919 ]
Salutj'ai un probleme avec cette instruction en utilisant internet explorer<meta http-equiv="refresh" content="0;URL=affetatciviltmp.php> et mer
la balise en php [ par kedieng ]
Salut!c'est encore jl fendji. Je viens de voir dans un doc sur le langage php la balise <pre> juste àprès un echo et je ne sais pas à quoi ca se
Modifier dans une balise xml [ par bolandfranck ]
Bonjour, je c'est que se que je demande est simple mais je n'arrive tout de meme pas a comprendre le fonctionnement en php d'un fichier xml. Mon probl
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
CHAMPS TIMECHAMPS TIME par vargas
Cliquez pour lire la suite par vargas
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|