metaphone
(PHP 4, PHP 5, PHP 7)
metaphone — Возвращает ключ metaphone для строки
Описание
$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"