Salut,

Je bosse en ce moment sur un moteur de recherche de rues (style mappy.com & compagnie).
J'ai écrit une fonction qui vire certains mots non pertinent de la chaine de recherche (rue, boulevard, etc...)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
function formatRue($str){
	$str=str_replace("ROUTE FORESTIÈRE DE L'","",$str);
	$str=str_replace("ROUTE FORESTIÈRE DE LA","",$str);
	$str=str_replace("NOUVELLE ROUTE DE L'","",$str);
	$str=str_replace("ROUTE FORESTIÈRE AUX","",$str);
	$str=str_replace("ROUTE FORESTIÈRE DES","",$str);
	$str=str_replace("ROUTE FORESTIÈRE AU","",$str);
         ... (Y'en a comme ça pendant ~300 lignes)
         return $str;
}
Mon problème c'est que certains remplacement agisse aussi sur la partie pertinente de la chaine de recherche.
Ex: dans la fonction formatRue, on trouve la ligne $str=str_replace("PLAN","",$str);
Et lorque je recherche: "bd des plants", ma chaine de recherche devien "ts" alors que je m'attend à "plants"
Vous voyez le problème ? Comment faire pour éviter ceci ?