metaphone
(PHP 4, PHP 5, PHP 7, PHP 8)
metaphone — Berechnet den Metaphone-Schlüssel eines Strings
Beschreibung
$string
, int $max_phonemes
= 0): string
Errechnet den Metaphone-Schlüssel von string
.
Genau wie soundex() berechnet metaphone den gleichen Schlüssel für ähnlich klingende Wörter. Die Metaphone-Funktion arbeitet genauer als soundex(), da sie die Grundregeln der englischen Aussprache kennt. Die durch metaphone erzeugten Schlüssel sind von variabler Länge.
Der Metaphone-Algorithmus wurde von Lawrence Philips <lphilips at verity dot com> entwickelt und in ["Practical Algorithms for Programmers", Binstock & Rex, Addison Wesley, 1995] beschrieben.
Parameter-Liste
-
string
-
Die Eingabezeichenkette.
-
max_phonemes
-
Dieser Parameter begrenzt den zurückgegebenen Metaphone-Schlüssel auf die Länge von
max_phonemes
Zeichen. Die resultierenden Phoneme werden jedoch immer vollständig umgeschrieben, so dass die resultierende Zeichenkettenlänge etwas größer sein kann, alsmax_phonemes
. Der Standardwert von0
bedeutet keine Begrenzung.
Rückgabewerte
Gibt den Metaphon-Schlüssel als Zeichenkette zurück.
Changelog
Version | Beschreibung |
---|---|
8.0.0 |
Die Funktion gab bei Auftreten eines Fehlers false zurück.
|
Beispiele
Beispiel #1 Einfaches metaphone()-Beispiel
<?php
var_dump(metaphone('programming'));
var_dump(metaphone('programmer'));
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
string(7) "PRKRMNK" string(6) "PRKRMR"
Beispiel #2 Verwendung des max_phonemes
-Parameters
<?php
var_dump(metaphone('programming', 5));
var_dump(metaphone('programmer', 5));
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
string(5) "PRKRM" string(5) "PRKRM"
Beispiel #3 Verwendung des max_phonemes
-Parameters
In diesem Beispiel soll metaphone() eine Zeichenkette
mit fünf Zeichen erzeugen, aber dazu müsste das letzte Phonem getrennt
werden ('x'
soll in 'KS'
umgeschrieben werden). Daher gibt die Funktion eine Zeichenkette mit
sechs Zeichen zurück.
<?php
var_dump(metaphone('Asterix', 5));
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
string(6) "ASTRKS"