PehBehBeh

Erfahrungen eines Hobby-Webentwicklers

Exotische PHP-Funktionen: metaphone() und soundex()

| 5 Kommentare

In diesem Teil der Artikelserie “Exotische PHP-Funktionen” möchte ich euch gleich zwei Funktionen vorstellen, die mehr oder weniger das Gleiche bewirken: metaphone() und soundex(). Mit diesen Funktionen lassen sich Ähnlichkeiten von Strings überprüfen.


Anwendung

Beiden Funktionen wird als Parameter eine Zeichenkette übergeben, von der bei metaphone() der Metaphon-Schlüssel und bei soundex() der Soundex-Schlüssel als Zeichenkette zurückgegeben wird. Bei gleicher Aussprache wird der gleiche Wert zurückgegeben.

Laut PHP Manual arbeitet die metaphone()-Funktion genauer, da sie Grundregeln der englischen Aussprache kennt. Die Metaphon-Schlüssel sind zudem von variabler Länge. Soundex-Schlüssel hingegen bestehen immer aus vier Zeichen: ein Buchstabe gefolgt von drei Ziffern.

Beispiel

metaphone:

echo metaphone("train"); // TRN
echo metaphone("terrain"); // TRN
echo metaphone("not a train"); // NTTRN

soundex:

echo soundex("train"); // T650
echo soundex("terrain"); // T650
echo soundex("not a train"); // N336


Update 24.02.2010:
Um deutsche Wörter zu vergleichen, liefert der Algorithmus der Kölner Phonetik bessere Ergebnisse. Ich habe einen Artikel dazu veröffentlicht. (» zum Artikel)

Dir hat der Artikel gefallen?
Dann abonniere doch den RSS-Feed!