Page 1 sur 1

Probléme sur le traitement d'une chaine

Posté : 06 juin 2007, 11:10
par PseT
Salut,

Voici mon probléme, j'inscrit en base de donnée les mots recherché sur mon site et j'incrémente une valeur a chaque fois que le meme mot est recherché.
Ensuite je traite le résultat pour affiché un nuage de tags.

Le probléme ce sont les erreurs de recherche (probléme d'accent etc...), et les insultes.

J'ai bien essayé de traiter les résultats mais ce n'ets pas convaincant, l'exemple le plus flagrand est le suivant :

le mot "bi..", je le banni et il n'est plus traité, mais le mot "petitebi.." ou "petite bi.." ne sont pas supprimé!!!

Une idée est d'inserer le mot recherché uniquement si la recherche sur le site est positif, mais cela me prive d'une info capitale, que recherche mon visiteur que je n'ai pas sur mon site.

Comment faire?

Merci pour votre aide.

Re: Probléme sur le traitement d'une chaine

Posté : 06 juin 2007, 11:12
par Snoops
Salut,

Voici mon probléme, j'inscrit en base de donnée les mots recherché sur mon site et j'incrémente une valeur a chaque fois que le meme mot est recherché.
Ensuite je traite le résultat pour affiché un nuage de tags.

Le probléme ce sont les erreurs de recherche (probléme d'accent etc...), et les insultes.

J'ai bien essayé de traiter les résultats mais ce n'ets pas convaincant, l'exemple le plus flagrand est le suivant :

le mot "bi..", je le banni et il n'est plus traité, mais le mot "petitebi.." ou "petite bi.." ne sont pas supprimé!!!

Une idée est d'inserer le mot recherché uniquement si la recherche sur le site est positif, mais cela me prive d'une info capitale, que recherche mon visiteur que je n'ai pas sur mon site.

Comment faire?

Merci pour votre aide.
Quelles sont tes requêtes sur la BDD pour vérifier si un mot est banni ou non ?

Posté : 06 juin 2007, 12:26
par Invité
Pas une requete BDD,

//Traitement de la chaine
$interdit='enfoiré|connard|merde|salaud|bite|sexe|sex|penis';
$autre='*****';
$key1 = preg_replace('`\b('.$interdit.')[sx]?\b`si',$autre, $key);