Moteur de recherche : soucis avec des accents.

Petit nouveau ! | 2 Messages

17 mars 2011, 11:40

Bonjour à tous,

Je viens vers vous car j'ai un petit soucis en PHP, je vous explique :

J'ai une table qui contient des poemes et j'ai fais un mini moteur de recherche qui permet de fouiller la table pour y trouver une expression saisie par un utilisateur.

Apres la requete, j'affiche les poemes contenant ce ou ces mots et je souligne avec un <span style="background:#FFFFFF">expression</span> l'expression saisie par l'utilisateur pour lui montrer ou se situe l'expression recherchée.

Code : Tout sélectionner

$key = stripslashes($HTTP_GET_VARS['key']); $array[$key] = '<span style="background:#FFFFFF">'.$key.'</span>'; $chaine = str_replace(array_keys($array), array_values($array), $infos_bdd['poeme']); echo $chaine;
Tout fonctionne nickel SAUF lorsque les accents interviennent :

Cas 1 : l'utilisateur tape "rosée" -> le moteur trouve les poemes contenant l'expression "rosée" et il souligné bien l'expression recherchée.
cas 2 : l'utilisateur tape "rosee" -> le moteur trouve les poemes contenant l'expression "rosee" mais il ne les souligne pas car ils ont un accent.

J'aimerais que l'expression soit toujours soulignée si elle est trouvée, qu'elle comporte ou non, un accent.

Merci d'avance pour ceux qui pourront m'aider à résoudre ce casse tête.

Petit nouveau ! | 2 Messages

09 avr. 2011, 20:25

Personne ne peut me venir en aide ?

Mammouth du PHP | 672 Messages

11 avr. 2011, 11:06

Bonjour.

Pour pouvoir t'aider, il faudrait savoir comment fais le "moteur de recherche" pour trouver la correspondance entre "rosee" et "rosée" :roll:

Parce que là, vu ton code c'est normal que ton script ne trouve pas de correspondance? Ce qui l'est moins, c'est qu'une recherche sur "rosee" retourne des "rosée" en résultat...