Hallo zusammen!
Ich möchte wie schon im Titel beschrieben eine andere Schreibweise von einem Wort finden und vergleichen.
Gegeben ist ein Suchwort und ein Array mit verschiedenen einzelnen Worten.
Das gesuchte Wort kann im Array so vorkommen wie es ist, kann aber auch eine teilweise andere Schreibweise haben.
Zum Beispiel könnte das Wort Straße ja auch Strasse geschrieben werden.
Genau das gleiche Spiel mit Umlauten wie äöü. äöü könnte aeoeue sein. Möglich wären aber auch äoeue,äöue,äöü,aeöü,aeoeü.
Es müssen also nicht zwangsläufig alle umlaute ersetzt sein.
Außerdem können Worte - oder _ enthalten, ein - kann im anderen Wort aber auch ein _ oder einfach weggelassen sein und umgekehrt.
Ich denke es müsste einen relativ kurzen, aber performanten Weg geben, aber ich hab das Gefühl, dass ich einfach nicht drauf komme.
Mein Ansatz wäre zuerst via in_array() nach der gleichen Schreibweise zu suchen und wenn es nicht gefunden wird in ner Schleife immer ein Zeichen zu ersetzen wenn ein zweites gefunden wird, die Funktion rekursiv aufrufen und das nächte Zeichen suchen, bis ich irgendwann alle Möglichkeiten durchprobiert habe.
Wenn das Suchwort im Array gefunden wird, soll es zurück gegeben werden. Wenn mehrere Treffer vorhanden sind, sollen alle in einem Array zurück gegeben werden.
Wenn ein Wort viele Umlaute hat, kann das aber mitunter viele rekursive Aufrufe geben, was mir nicht sonderlich performant erscheint.
Fällt jemandem ein besserer Weg ein?
Kann von mir aus auch gerne mit regulären Ausdrücken sein.
In denen bin ich leider bisher nicht so fit.
Ich erwarte keine vollständige fertige Lösung, sondern eher so Denkanstöße.
Ist halt so etwas zum Knobeln, was aber im Ergebnis durchaus nützlich sein kann.
Schönen Abend euch.