metaphone

文字列の metaphone キーを計算する

説明

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

string の metaphone キーを計算します。

soundex と同様に metaphone は、 発音が似た単語について同じキーを作成します。metaphone は、 英語の発音の基本的ルールを知っているので、 soundex よりも正確です。 metaphone が生成するキーは可変長です。

metaphone は、Lawrence Philips <lphilips at verity dot com> により 開発されました。["Practical Algorithms for Programmers", Binstock & Rex, Addison Wesley, 1995] で解説されています。

パラメータ

string

入力文字列。

max_phonemes

このパラメータは、返される metaphone キーの長さを最大 max_phonemes 文字 までに制限します。 しかし、phonemes は完全に書き換えられるので、 結果の文字列の長さは、max_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 phonemes パラメータの使用例

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

上の例の出力は以下となります。

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

例3 phonemes 引数を使う

この例では、 metaphone 関数は5文字の文字列を生成するように指定されていますが、 最後の音素を分割する必要がある ('x''KS' に書き換えられるとします), ため、返される文字列は6文字になります。

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

上の例の出力は以下となります。

string(6) "ASTRKS"