Linuchs: Suchen in der mysql datenbank muenchen-ost -> München Ost

Beitrag lesen

wie kann ich jetzt diesen Datensatz ermitteln. Ich kann zwar - als leerzeichen wieder ersetzen aber bei den Umlauten tue ich mich da schwerer da es ja auch Wörter mit ue gibt und nicht automatisch ein ue ein Ü ist.

Es geht nur um die vier deutschen Zeichen ÄÖÜß? Dann probiere mal

$titel_DB    = "Die Münchnerstraße in Coesfeld";   // in der Datenbank
$titel_such  = "die-muenchnerstrasse-in-coesfeld"; // alle Buchstaben klein

$titel_such1 = str_replace( "-", " ", $titel_such ); // - ersetzen

$arr_search  = array ( "ae", "oe", "ue", "ss", "ä", "ö", "ü", "ß" );
$arr_replace = array (  "%",  "%",  "%",  "%", "%", "%", "%", "%" );

$titel_such2 = str_replace( $arr_search, $arr_replace, $titel_such1 );
echo $titel_such2; // die m%nchnerstra%e in c%sfeld

SELECT
...
FROM
...
WHERE LOWER( titel ) = $titel_such1
OR    LOWER( titel ) LIKE $titel_such2

sollte erfolgreich sein. Wegen des LOWER muss die Datenbank auf deutsch gepolt sein.

Linuchs