18
strfilter
strfilter
SYNOPSIS
strfilter($s, $lang)
DESCRIPTION
strfilter
retourne une chaîne de caractères avec les mots de la chaîne de caractères $s
en minuscules, sans accents, sans les doublons et sans les mots non significatifs pour la langue $lang
séparés par un espace.
Les mots non significatifs sont définis dans le fichier includes/stopwords.inc :
- includes
- stopwords.inc
- global $stopwords;
- $stopwords = array(
- 'en' => array(
- 'a',
- 'about',
- 'above',
- 'fr' => array(
- 'a',
- 'au',
- 'aussi',
stopwords.inc définit la variable globale $stopwords
.
$stopwords
contient un tableau qui associe pour chaque langue gérée par le programme une liste de mots qui ne sont pas significatifs dans un index.
CODE
- global $stopwords;
- $stopwords = array();
- @include 'stopwords.inc';
Charge la variable globale $stopwords
à partir du fichier stopwords.inc.
- require_once 'strflat.php';
- function strfilter($s, $lang) {
- global $stopwords;
- if ($s) {
- $wlist=array_map('strtolower', array_map('strflat', array_unique(preg_split('/\s+/', $s, -1, PREG_SPLIT_NO_EMPTY))));
- if ($lang && array_key_exists($lang, $stopwords)) {
- $wlist=array_diff($wlist, $stopwords[$lang]);
- }
- return implode(' ', $wlist);
- }
- return false;
- }
Commentaires