# metaphone

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

metaphone — Calcule la clé metaphone

### Description

metaphone(string `$string`, int `$max_phonemes` = 0): string

Calcule la clé metaphone de `string`.

metaphone() est similaire à la fonction soundex() : elle créée une clé similaire pour des mots dont la prononciation est proche. C'est une fonction qui est plus précise que soundex() car elle prend en compte la prononciation anglaise. La clé metaphone générée est de taille variable.

Metaphone a été développée par Lawrence Philips <lphilips at verity dot com>. Cette méthode est décrite dans le livre `["Practical Algorithms for Programmers", Binstock & Rex, Addison Wesley, 1995]`.

### Liste de paramètres

`string`

  La chaîne d'entrée.

`max_phonemes`

  Ce paramètre restreint la clé métaphone retournée à une longueur de `max_phonemes` caractères. Cependant, les phonèmes résultant sont toujours transcrit complètement, donc la longueur de la chaîne résultant peut être légèrement plus longue que `max_phonemes`. La valeur par défaut est `0`, ce qui signifie qu'aucune limitation ne sera appliquée.

### Valeurs de retour

Retourne la clé metaphone, sous la forme d'une chaîne de caractères.

### Historique

Version | Description
--- | ---
8.0.0 | Cette fonction retournait `false` en cas d'échec.

### Exemples

Exemple #1 Exemple avec metaphone()

`<?php
var_dump(metaphone('programming'));
var_dump(metaphone('programmer'));
?>`

L'exemple ci-dessus va afficher :

    string(7) "PRKRMNK"
    string(6) "PRKRMR"

Exemple #2 Utilisation du paramètre `max_phonemes`

`<?php
var_dump(metaphone('programming', 5));
var_dump(metaphone('programmer', 5));
?>`

L'exemple ci-dessus va afficher :

    string(5) "PRKRM"
    string(5) "PRKRM"

Exemple #3 Utilisant le paramètre de `max_phonemes`

Dans cette exemple, metaphone() est avisé de produire une chaîne de cinq caractères, mais ceci nécessiterai de séparer le phonème final (`'x'` est supposé d'être transcrit en `'KS'`), donc la fonction retourne une chaîne de six caractères.

`<?php
var_dump(metaphone('Asterix', 5));
?>`

L'exemple ci-dessus va afficher :

    string(6) "ASTRKS"