(PHP 4, PHP 5, PHP 7, PHP 8)
metaphone — 文字列の metaphone キーを計算する
$string
, int $max_phonemes
= 0): string
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"