metaphone

(PHP 4, PHP 5, PHP 7, PHP 8)

metaphoneBerechnet den Metaphone-Schlüssel eines Strings

Beschreibung

metaphone(string$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_phonemesZeichen. Die resultierenden Phoneme werden jedoch immer vollständig umgeschrieben, so dass die resultierende Zeichenkettenlänge etwas größer sein kann, als max_phonemes. Der Standardwert von 0 bedeutet keine Begrenzung.

Rückgabewerte

Gibt den Metaphon-Schlüssel als Zeichenkette zurück.

Changelog

VersionBeschreibung
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"
To Top