Probléme sur le traitement d'une chaine

Eléphanteau du PHP | 19 Messages

06 juin 2007, 11:10

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.

Eléphant du PHP | 360 Messages

06 juin 2007, 11:12

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 ?
Dites ce que je fais, ne faites pas ce que je dis ...

Invité
Invité n'ayant pas de compte PHPfrance

06 juin 2007, 12:26

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);