in diesem Zusammenhang noch
http://de.wikipedia.org/wiki/Kölner_Phonetik
Danke dir, in die drei Quellen habe ich kurz reingeschaut. Ist sicher wert, aufmerksam gelesen zu werden.
Im Moment gefällt mir meine eigene schlanke Lösung ganz gut (114 Codezeilen plus iclude für DB-Öffnen) mit 5 Durchläufen. Dabei stehen die vermutlich besten Treffer oben. Wenn mehr als 10 Treffer gefunden wurden, werden weitere Durchläufe gebremst (break).
for( $i; $i<5; $i++ )
... (Daten lesen, neue speichern)
if ( $i == 0 ) $such_ort = $such_ort."%";
else if ( $i == 1 ) $such_ort = "%".$such_ort;
else if ( $i == 2 ) $such_ort = str_replace(" ","%",$such_ort);
else if ( $i == 3 )
{
$arr_search = array("ä","ö","ü","ß","ae","oe","ue","ss");
$arr_replace = array("ae","oe","ue","ss","ä","ö","ü","ß");
$such_ort = str_replace($arr_search,$arr_replace,$such_ort);
}
endfor
Zum Schluss tausche ich also noch die Umlaute gegen zwei Buchstaben und umgekehrt.
Beispiel-Eingabe: "dürk". Ausgabe:
lfd;name;land_kz;plz;id;name_zusatz;keywords;lauf
1;Bad Dürkheim;D;67098;9433;;;2
2;Dorn-Dürkheim;D;67585;9527;;;2
3;Worms;D;67550;9518;Herrnsheim, Rheindürkheim;;2
Also alle werden gefunden nachdem $i == 1
Gebt mir bitte mal ein paar Beispiele zum Testen.
Gast