Manchmal kann es vorkommen, dass sie in einer Datenbank nach Wörtern suchen möchte, von denen Sie zwar die Aussprache kennt, nicht aber die korrekte Schreibweise. Hier kann die Funktion soundex() Abhilfe schaffen. Mit dieser Funktion könne Sie den Klangwert eines Wortes berechnen. Dadurch haben Sie dann die Möglichkeit, in der Datenbank nach allen Wörtern zu suchen, die so ähnlich klingen wie der Suchbegriff. Der Klangwert wird auch als Lautähnlichkeit bezeichnet.
Der Syntax:
soundex(Zeichenkette)
Die Funktion soundex() ist eine PHP-Funktion, die zur Ermittlung von phonetischen Ähnlichkeiten zwischen Wörtern verwendet wird. Sie vergleicht das phonetische Äquivalent mehrerer Wörter und gibt einen Code zurück, der die Ähnlichkeit der Wörter widerspiegelt. Der Code besteht aus vier Buchstaben und Zahlen.
Die ersten drei Buchstaben stellen die ersten drei Laute des Wortes dar, während die letzte Zahl die Anzahl der ähnlichen Laute im Wort widerspiegelt. Mithilfe dieses Codes können ähnliche Wörter schnell erkannt und sortiert werden.
Beispiel:
<?php
/*
* Created on 13.01.2010 by Nico Schubert
*/
$string = 'Klangwert';
$klangwert = soundex($string);
echo 'Der Klangwert des Wortes: '.$string.' ist:
'.$klangwert;
?>
Ausgabe:
Der Klangwert des Wortes: Klangwert ist: K452
Erklärung:
In der Variablen $string wird die Zeichenkette „Klangwert“ gespeichert. Im nächsten Schritt wird mithilfe der Funktion soundex() der Klangwert dieser Funktion bestimmt. Das Ergebnis wird in $klangwert abgespeichert. Mit Hilfe der echo-Anweisung wird das Ergebnis in einen Satz eingebaut ausgegeben. Der Klangwert der Zeichenkette „Klangwert“ ist also K452.
Die Information allein, welchen Klangwert eine Zeichenkette hat, ist nicht von großem Nutzen. Wenn Sie mit diesem Klangwert aber nun in einer Datenbank suchen würden, dann könnten Sie das Ergebnis finden, die so ähnlich klingen wie der Suchbegriff. Hierzu könnten Sie genau nach dem ermittelten Klangwert suchen, um Treffer zu bekommen, deren Aussprache genau so klingt, wie die des Suchbegriffs.
Sie können aber auch ein Intervall definieren, in dem der Klangwert der Suchergebnisse liegen soll. Je nachdem, wie groß Sie diesem Intervall definieren, klingen die Suchergebnisse fast identisch, wenn Sie ein kleines Intervall wählen, oder nicht so ähnlich, wenn das Intervall größer definiert ist.
Die Bestimmung des Klangwertes über die Funktion soundex() bietet aber in jedem Fall eine Möglichkeit, ein Wort in einer Datenbank zu finden, von dem Sie zwar die ungefähre Aussprache kennt, nicht aber die genaue Schreibweise.
Sie können sich auf die Funktion: metaphone() ansehen, dies wird vielfach in der englischen Sprache verwendet.