Files
php-doc-ru/reference/strings/functions/metaphone.xml
Sergey Panteleev 6d43fd64d7 Исправление форматирования
[skip-spellcheck]
[skip-lint]
2022-12-27 03:42:36 +03:00

181 lines
5.6 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: e095023e408c8cb6378ae16bb6870343a3946919 Maintainer: shein Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.metaphone" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>metaphone</refname>
<refpurpose>Возвращает ключ metaphone для строки</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>string</type><methodname>metaphone</methodname>
<methodparam><type>string</type><parameter>string</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>max_phonemes</parameter><initializer>0</initializer></methodparam>
</methodsynopsis>
<para>
Возвращает ключ metaphone для строки <parameter>string</parameter>.
</para>
<para>
Подобно функции <function>soundex</function>, metaphone возвращает
одинаковое значение для слов, имеющих сходное произношение. Эта
функция более точна, чем <function>soundex</function>, так как
учитывает основные правила произношения английского языка.
Длина возвращаемой строки не фиксирована.
</para>
<para>
Функция metaphone была написана Lawrence Philips &lt;lphilips at
verity dot com&gt; и описана в книге ["Practical Algorithms for
Programmers", Binstock &amp; Rex, Addison Wesley, 1995].
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>string</parameter></term>
<listitem>
<para>
Входная строка.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>max_phonemes</parameter></term>
<listitem>
<para>
Этот параметр выставляет ограничение в <parameter>max_phonemes</parameter>
<emphasis>символов</emphasis> на длину возвращаемого ключа metaphone.
Однако результирующие фонемы всегда транскрибируются полностью, поэтому длина
результирующей строки может быть немного больше, чем <parameter>phonemes</parameter>.
Значение по умолчанию <literal>0</literal> означает отсутствие
ограничений.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Возвращает ключ metaphone в виде строки.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
Функция возвращала &false; в случае возникновения ошибки.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples"><!-- {{{ -->
&reftitle.examples;
<para>
<example xml:id="metaphone.example.basic"><!-- {{{ -->
<title>Простой пример использования <function>metaphone</function></title>
<programlisting role="php">
<![CDATA[
<?php
var_dump(metaphone('programming'));
var_dump(metaphone('programmer'));
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
string(7) "PRKRMNK"
string(6) "PRKRMR"
]]>
</screen>
</example><!-- }}} -->
</para>
<para>
<example xml:id="metaphone.example.phonemes"><!-- {{{ -->
<title>Использование параметра <parameter>max_phonemes</parameter></title>
<programlisting role="php">
<![CDATA[
<?php
var_dump(metaphone('programming', 5));
var_dump(metaphone('programmer', 5));
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
string(5) "PRKRM"
string(5) "PRKRM"
]]>
</screen>
</example><!-- }}} -->
</para>
<para>
<example xml:id="metaphone.example.phonemes-overlong">
<title>Использование параметра <parameter>max_phonemes</parameter></title>
<simpara>
В этом примере <function>metaphone</function> предлагается создать строку
из пяти символов, но для этого потребуется разделить последнюю фонему
(<literal>'x'</literal> предполагается преобразовать в <literal>'KS'</literal>),
поэтому функция возвращает строку из шести символов.
</simpara>
<programlisting role="php">
<![CDATA[
<?php
var_dump(metaphone('Asterix', 5));
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
string(6) "ASTRKS"
]]>
</screen>
</example>
</para>
</refsect1><!-- }}} -->
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->