Возвращает ключ metaphone для строки

# metaphone

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

metaphone — Возвращает ключ metaphone для строки

### Описание

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

Возвращает ключ metaphone для строки `string`.

Подобно функции soundex(), metaphone возвращает одинаковое значение для слов, имеющих сходное произношение. Эта функция более точна, чем soundex(), так как учитывает основные правила произношения английского языка. Длина возвращаемой строки не фиксирована.

Функция metaphone была написана Lawrence Philips <lphilips at verity dot com> и описана в книге ["Practical Algorithms for Programmers", Binstock & Rex, Addison Wesley, 1995].

### Список параметров

`string`

  Входная строка.

`max_phonemes`

  Этот параметр выставляет ограничение в `max_phonemes` символов на длину возвращаемого ключа metaphone. Однако результирующие фонемы всегда транскрибируются полностью, поэтому длина результирующей строки может быть немного больше, чем `phonemes`. Значение по умолчанию `0` означает отсутствие ограничений.

### Возвращаемые значения

Возвращает ключ metaphone в виде строки.

### Список изменений

Версия | Описание
--- | ---
8.0.0 | Функция возвращала `false` в случае возникновения ошибки.

### Примеры

Пример #1 Простой пример использования metaphone()

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

Результат выполнения приведённого примера:

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

Пример #2 Использование параметра `max_phonemes`

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

Результат выполнения приведённого примера:

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

Пример #3 Использование параметра `max_phonemes`

В этом примере metaphone() предлагается создать строку из пяти символов, но для этого потребуется разделить последнюю фонему (`'x'` предполагается преобразовать в `'KS'`), поэтому функция возвращает строку из шести символов.

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

Результат выполнения приведённого примера:

    string(6) "ASTRKS"

### Смотрите также

- levenshtein() - Вычисляет расстояние Левенштейна между двумя строками
- similar_text() - Вычисляет степень похожести двух строк
- soundex() - Возвращает ключ soundex для строки

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