/** * Returns the Metaphone key "heard" from a string. * * The algorithm used to render the [Metaphone](http://en.wikipedia.org/wiki/Metaphone) key is the first-generation * one. * * @param string $string The source string. * @param bool $transliterate **OPTIONAL. Default is** `true`. Tells whether to transliterate the string into the * Latin script and then flatten it to ASCII before generating the key. Since the Metaphone algorithm is not * Unicode-aware, the touch of transliteration is something that any arbitrary Unicode string would wish for. For * example, "こんにちは" is transliterated to "kon'nichiha". * * @return string The Metaphone key of the string. */ public static function metaphoneKey($string, $transliterate = true) { assert('is_cstring($string) && is_bool($transliterate)', vs(isset($this), get_defined_vars())); $string = CEString::flattenUnicodeToAscii($string, $transliterate); return CString::metaphoneKey($string); }