[php] pb avec ereg_replace

Fermé
Kopros Messages postés 595 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 3 février 2020 - 28 janv. 2010 à 17:53
Kopros Messages postés 595 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 3 février 2020 - 29 janv. 2010 à 00:32
Salut à tous !

Alors voilà, je suis en train de peaufiner un petit moteur de recherche pour mon site.
Dans ma base données dans laquelle la recherche est effectuée, les accents sont codés (
é
et compagnie) donc les accents de la requête doivent l'être également.

Alors je me suis fait quelques lignes de ereg_replace pour remplacer les accents les plus courants (y'a pas de fonction php qui fait ça), jusque là pas de souci.
J'en ai profité pour remplacer aussi le 'œ', j'ai fais ça :
$requete = ereg_replace("œ", "œ", $requete);


et je me suis dit que beaucoup de gens tapent 'oe' au lieu de 'œ', alors j'ai ajouté une ligne :
$requete = ereg_replace("oe", "œ", $requete);

et là, c'est le drame ! Plus moyen de faire fonctionner la 1ere ligne.
Actuellement, je suis obligé de choisir entre faire passer le 'œ' ou le 'oe'... C'est pas top.

Quelqu'un saurait comment je peux faire pour que les 2 passent bien ?
A voir également:

2 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
28 janv. 2010 à 23:18
normal oe c'est deux caractères et ereg_replace marche que pour un seul

essayes avec str_replace
0
Kopros Messages postés 595 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 3 février 2020 89
29 janv. 2010 à 00:32
Je comprends pas, avec ereg_replace, le oe est remplacé comme il faut, c'est le œ qui ne passe pas.
Bon dans le doute j'ai quand même remplacé par str_replace, même résultat.

J'arrive vraiment pas à comprendre le pourquoi du comment, tous les autres caractères passent nickel...
0