# metaphone

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

metaphone — Berechnet 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_phonemes` Zeichen. 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

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"

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open