Schreibfehler in Variablen korrigieren

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
Shauku
Mitglied
Beiträge: 120
Registriert: 20.11.2006 20:24

Schreibfehler in Variablen korrigieren

Beitrag von Shauku »

Kennt jemand einen brauchbaren Code um Schreibfehler in Variablen zu korrigieren?

Im Prinzip ist mein Problem recht einfach. Ich habe eine DB mit vielen Begriffen. Über ein Suchfeld auf der HP kann man die Begriffe erfragen. Hat man einen Tipfehler drinnen, bekommt man natürlich keine Ergebnisse. Ich würde nun ganz gerne nach "ähnlichen" Begriffen in der DB suchen. Das könnte ich z.B. indem ich zufällig z.B. die ersten 3 Zeichen wegschneide und erneut Suche, dann die letzten 3 Zeichen wegschneide, etc. etc.

Dieses Problem hab aber sicherlich nicht nur ich :mrgreen: und vermutlich hat sich der eine oder andere schon mehr Gedanken darüber gemacht, was man für eine erneute Suche weglassen kann (außer die "3 Buchstaben Theorie"). Kennt jemand ein brauchbares Snippet oder ein brauchbares System, dass sich anzuwenden lohnt?

Ich brauch natürlich keine Trefferquote von 100% aber so 60-80% wären schon schön :) .
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Re: Schreibfehler in Variablen korrigieren

Beitrag von Pyramide »

PHP kennt dafür einige Funktionen:
[php:levenshtein]
[php:metaphone]
[php:similar_text]
[php:soundex]
KB:knigge
Boecki91
Ehemaliges Teammitglied
Beiträge: 4744
Registriert: 18.06.2006 15:21

Re: Schreibfehler in Variablen korrigieren

Beitrag von Boecki91 »

Da ist bei den Kommentaren auch etwas Code für deutsch dabei:
http://de.php.net/manual/de/function.soundex.php#84881

PS: Die ganzen Ähnlichkeitsfunktionen lieben viel Prozessorleistung und Arbeitsspeicher ;)
Standart: Am besten mit beiden Beinen auf dem Boden
Standardmäßig antworte ich nicht auf PMs
Antworten

Zurück zu „Coding & Technik“