(PHP 4, PHP 5, PHP 7, PHP 8)
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"