cvs: phpdoc-de /reference/strings/functions chr.xml count-chars.xml explode.xml htmlspecialchars.xml levenshtein.xml
| From: | Carola 'Sammy' Kummert | Date: | Sun, 09 Mar 2008 11:46:29 +0000 |
| Subject: | cvs: phpdoc-de /reference/strings/functions chr.xml count-chars.xml explode.xml htmlspecialchars.xml levenshtein.xml | ||
| Groups: | php.doc.de | ||
| Request: | Send a blank email to doc-de+get-2473@lists.php.net to get a copy of this message | ||
sammywg Sun Mar 9 11:46:29 2008 UTC
Modified files:
/phpdoc-de/reference/strings/functions chr.xml count-chars.xml
explode.xml
htmlspecialchars.xml
levenshtein.xml
Log:
sync to en
http://cvs.php.net/viewvc.cgi/phpdoc-de/reference/strings/functions/chr.xml?r1=1.6&r2=1.7&diff_format=u Index: phpdoc-de/reference/strings/functions/chr.xml diff -u phpdoc-de/reference/strings/functions/chr.xml:1.6 phpdoc-de/reference/strings/functions/chr.xml:1.7 --- phpdoc-de/reference/strings/functions/chr.xml:1.6 Wed Oct 17 00:05:47 2007 +++ phpdoc-de/reference/strings/functions/chr.xml Sun Mar 9 11:46:29 2008 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.6 $ --> -<!-- EN-Revision: 1.7 Maintainer: sammywg Status: ready --> +<!-- $Revision: 1.7 $ --> +<!-- EN-Revision: 1.8 Maintainer: sammywg Status: ready --> <refentry xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://docbook.org/ns/docbook" xml:id="function.chr"> <refnamediv> <refname>chr</refname> @@ -71,6 +71,7 @@ <para> <simplelist> <member><function>sprintf</function> mit der Formatierungsanweisung <literal>%c</literal></member> + <member><function>ord</function></member> <member>Eine <link xlink:href="&url.asciitable;">ASCII-Tabelle</link></member> </simplelist> </para> http://cvs.php.net/viewvc.cgi/phpdoc-de/reference/strings/functions/count-chars.xml?r1=1.8&r2=1.9&diff_format=u Index: phpdoc-de/reference/strings/functions/count-chars.xml diff -u phpdoc-de/reference/strings/functions/count-chars.xml:1.8 phpdoc-de/reference/strings/functions/count-chars.xml:1.9 --- phpdoc-de/reference/strings/functions/count-chars.xml:1.8 Thu Oct 25 18:52:23 2007 +++ phpdoc-de/reference/strings/functions/count-chars.xml Sun Mar 9 11:46:29 2008 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.8 $ --> -<!-- EN-Revision: 1.10 Maintainer: sammywg Status: ready --> +<!-- $Revision: 1.9 $ --> +<!-- EN-Revision: 1.11 Maintainer: sammywg Status: ready --> <refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.count-chars"> <refnamediv> <refname>count_chars</refname> @@ -72,12 +72,12 @@ </listitem> <listitem> <simpara> - 3 - ein String, der alle vorkommenden Zeichen enthält. + 3 - eine Zeichenkette, die alle vorkommenden Zeichen enthält. </simpara> </listitem> <listitem> <simpara> - 4 - ein String, der alle nicht vorkommenden Zeichen enthält. + 4 - eine Zeichenkette, die alle nicht vorkommenden Zeichen enthält. </simpara> </listitem> </itemizedlist> http://cvs.php.net/viewvc.cgi/phpdoc-de/reference/strings/functions/explode.xml?r1=1.9&r2=1.10&diff_format=u Index: phpdoc-de/reference/strings/functions/explode.xml diff -u phpdoc-de/reference/strings/functions/explode.xml:1.9 phpdoc-de/reference/strings/functions/explode.xml:1.10 --- phpdoc-de/reference/strings/functions/explode.xml:1.9 Thu Oct 25 18:52:23 2007 +++ phpdoc-de/reference/strings/functions/explode.xml Sun Mar 9 11:46:29 2008 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.9 $ --> -<!-- EN-Revision: 1.17 Maintainer: sammywg Status: ready --> +<!-- $Revision: 1.10 $ --> +<!-- EN-Revision: 1.18 Maintainer: sammywg Status: ready --> <refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.explode"> <refnamediv> <refname>explode</refname> @@ -184,6 +184,7 @@ <simplelist> <member><function>preg_split</function></member> <member><function>str_split</function></member> + <member><function>str_word_count</function></member> <member><function>strtok</function></member> <member><function>implode</function></member> </simplelist> http://cvs.php.net/viewvc.cgi/phpdoc-de/reference/strings/functions/htmlspecialchars.xml?r1=1.9&r2=1.10&diff_format=u Index: phpdoc-de/reference/strings/functions/htmlspecialchars.xml diff -u phpdoc-de/reference/strings/functions/htmlspecialchars.xml:1.9 phpdoc-de/reference/strings/functions/htmlspecialchars.xml:1.10 --- phpdoc-de/reference/strings/functions/htmlspecialchars.xml:1.9 Thu Oct 25 18:52:23 2007 +++ phpdoc-de/reference/strings/functions/htmlspecialchars.xml Sun Mar 9 11:46:29 2008 @@ -1,113 +1,201 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.9 $ --> -<!-- EN-Revision: 1.10 Maintainer: sammywg Status: ready --> - <refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.htmlspecialchars"> - <refnamediv> - <refname>htmlspecialchars</refname> - <refpurpose>Wandelt Sonderzeichen in HTML-Codes um</refpurpose> - </refnamediv> - <refsect1> - &reftitle.description; - <methodsynopsis> - <type>string</type><methodname>htmlspecialchars</methodname> - <methodparam><type>string</type><parameter>string</parameter></methodparam> - <methodparam choice="opt"><type>int</type><parameter>quote_style</parameter></methodparam> - <methodparam choice="opt"><type>string</type><parameter>charset</parameter></methodparam> - <methodparam choice="opt"><type>bool</type><parameter>double_encode</parameter></methodparam> - </methodsynopsis> - <para> - Bestimmte Zeichen haben in HTML eine spezielle Bedeutung und - sollten in HTML-Code dargestellt werden, um ihre Bedeutung zu - behalten. Diese Funktion liefert einen String zurück, in dem - manche dieser Konvertierungen durchgeführt wurden. Die hier - vorgenommenen Umwandlungen sind die gebräuchlichsten für die tägliche - Web-Programmierung. Sofern Sie eine vollständige Konvertierung der - HTML-Zeichen benötigen, sollten Sie stattdessen - <function>htmlentities</function> verwenden. - </para> - <simpara> - Diese Funktion ist hilfreich, um vom Benutzer gelieferten Text frei - von HTML-Code zu halten, wie z.B. in Foren oder Gästebüchern. Das optionale - zweite Argument <parameter>quote_style</parameter> legt fest, wie einfache - und doppelte Anführungszeichen behandelt werden sollen. Die - Standardeinstellung <constant>ENT_COMPAT</constant> ist abwärtskompatibel - und behandelt nur die doppelten, nicht aber die einfachen Anführungszeichen. - Ist <constant>ENT_QUOTES</constant> angegeben, werden einfache und doppelte - Anführungszeichen umgewandelt, und sofern <constant>ENT_NOQUOTES</constant> - angegeben wurde, bleiben sowohl einfache als auch doppelte Anführungszeichen - unberührt. - </simpara> - <para> - Folgende Umwandlungen werden vorgenommen: - <itemizedlist> - <listitem> - <simpara> - '&' (Ampersand/kaufmännisches Und) wird zu '&amp;'. - </simpara> - </listitem> - <listitem> - <simpara> - '"' (doppeltes Anführungszeichen) wird zu '&quot;', - wenn <constant>ENT_NOQUOTES</constant> nicht gesetzt ist. - </simpara> - </listitem> - <listitem> - <simpara> - ''' (einfaches Anführungszeichen) wird nur zu '&#039;', - wenn <constant>ENT_QUOTES</constant> gesetzt ist. - </simpara> - </listitem> - <listitem> - <simpara> - '<' (kleiner als) wird zu '&lt;' - </simpara> - </listitem> - <listitem> - <simpara> - '>' (größer als) wird zu '&gt;' - </simpara> - </listitem> - </itemizedlist> - <example> - <title><function>htmlspecialchars</function>-Beispiel</title> - <programlisting role="php"> +<!-- $Revision: 1.10 $ --> +<!-- EN-Revision: 1.13 Maintainer: sammywg Status: ready --> + +<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.htmlspecialchars" xmlns:xlink="http://www.w3.org/1999/xlink"> + <refnamediv> + <refname>htmlspecialchars</refname> + <refpurpose>Wandelt Sonderzeichen in HTML-Codes um</refpurpose> + </refnamediv> + + <refsect1 role="description"> + &reftitle.description; + <methodsynopsis> + <type>string</type><methodname>htmlspecialchars</methodname> + <methodparam><type>string</type><parameter>string</parameter></methodparam> + <methodparam choice="opt"><type>int</type><parameter>quote_style</parameter></methodparam> + <methodparam choice="opt"><type>string</type><parameter>charset</parameter></methodparam> + <methodparam choice="opt"><type>bool</type><parameter>double_encode</parameter></methodparam> + </methodsynopsis> + <para> + Bestimmte Zeichen haben in HTML eine spezielle Bedeutung und + sollten in HTML-Code dargestellt werden, um ihre Bedeutung zu + behalten. Diese Funktion liefert einen String zurück, in dem + manche dieser Konvertierungen durchgeführt wurden. Die hier + vorgenommenen Umwandlungen sind die gebräuchlichsten für die tägliche + Web-Programmierung. Sofern Sie eine vollständige Konvertierung der + HTML-Zeichen benötigen, sollten Sie stattdessen + <function>htmlentities</function> verwenden. + </para> + <simpara> + Diese Funktion ist hilfreich, um vom Benutzer gelieferten Text frei + von HTML-Code zu halten, wie z.B. in Foren oder Gästebüchern. + </simpara> + <para> + Folgende Umwandlungen werden vorgenommen: + <itemizedlist> + <listitem> + <simpara> + '&' (Ampersand/kaufmännisches Und) wird zu '&amp;'. + </simpara> + </listitem> + <listitem> + <simpara> + '"' (doppeltes Anführungszeichen) wird zu '&quot;', + wenn <constant>ENT_NOQUOTES</constant> nicht gesetzt ist. + </simpara> + </listitem> + <listitem> + <simpara> + ''' (einfaches Anführungszeichen) wird nur zu '&#039;', + wenn <constant>ENT_QUOTES</constant> gesetzt ist. + </simpara> + </listitem> + <listitem> + <simpara> + '<' (kleiner als) wird zu '&lt;' + </simpara> + </listitem> + <listitem> + <simpara> + '>' (größer als) wird zu '&gt;' + </simpara> + </listitem> + </itemizedlist> + </para> + </refsect1> + + <refsect1 role="parameters"> + &reftitle.parameters; + <para> + <variablelist> + <varlistentry> + <term><parameter>string</parameter></term> + <listitem> + <para> + Die zu konvertierende Zeichenkette. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>quote_style</parameter></term> + <listitem> + <para> + Das optionale zweite Argument <parameter>quote_style</parameter> gibt an, + wie die Funktion mit einfachen und doppelten Anführungszeichen umgehen + soll. Der Standardmodus <constant>ENT_COMPAT</constant> ist + abwärtskompatibel und übersetzt nur die doppelten Anführungszeichen, + während die einfachen Anführungszeichen unbehandelt bleiben. Wird statt + dessen der Modus <constant>ENT_QUOTES</constant> verwendet, werden sowohl + einfache als auch doppelte Anführungszeichen umgewandelt. Das Setzen von + <constant>ENT_NOQUOTES</constant> bewirkt ein Ignorieren sowohl von + einfachen als auch von doppelten Anführungszeichen. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>charset</parameter></term> + <listitem> + <para> + Definiert den Zeichensatz, der der Übersetzung zugrunde gelegt wird. Der + Standardwert ist ISO-8859-1. + </para> + &reference.strings.charsets; + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>double_encode</parameter></term> + <listitem> + <para> + Wird der Parameter <parameter>double_encode</parameter> ausgeschaltet, + kodiert PHP bereits existierende HTML-Entities nicht noch einmal. + Standardmäßig werden jedoch alle Zeichen konvertiert. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect1> + + <refsect1 role="returnvalues"> + &reftitle.returnvalues; + <para> + Der konvertierte <type>string</type>. + </para> + </refsect1> + + <refsect1 role="changelog"> + &reftitle.changelog; + <para> + <informaltable> + <tgroup cols="2"> + <thead> + <row> + <entry>&Version;</entry> + <entry>&Description;</entry> + </row> + </thead> + <tbody> + <row> + <entry>5.2.3</entry> + <entry> + Der Parameter <parameter>double_encode</parameter> wurde hinzugefügt. + </entry> + </row> + <row> + <entry>4.1.0</entry> + <entry> + Der Parameter <parameter>charset</parameter> wurde hinzugefügt. + </entry> + </row> + </tbody> + </tgroup> + </informaltable> + </para> + </refsect1> + + <refsect1 role="examples"> + &reftitle.examples; + <para> + <example> + <title><function>htmlspecialchars</function>-Beispiel</title> + <programlisting role="php"> <![CDATA[ <?php $neu = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES); echo $neu; // <a href='test'>Test</a> ?> ]]> - </programlisting> - </example> - </para> - <para> - Beachten Sie, dass diese Funktion nur die o.a. Umwandlungen - durchführt. Für vollständige Code-Umwandlung verwenden Sie bitte - <function>htmlentities</function>. Die Unterstützung für das optionale - zweite Argument wurde in PHP 3.0.17 bzw. PHP 4.0.3. hinzugefügt. - </para> - <para> - Das dritte Argument <parameter>charset</parameter> definiert die für die - Konvertierung verwendete Zeichenssatztabelle. Der Default-Zeichensatz ist - ISO-8859-1. Die Unterstützung für das dritte Argument wurde mit PHP 4.1.0 - eingeführt. - </para> - &reference.strings.charsets; - <para> - Wenn <parameter>double_encode</parameter> ausgeschaltet ist, verändert - PHP keine bereits vorhandenen HTML-Entities. Standardmäßig wird jedoch - alles konvertiert. Dieser Parameter wurde mit PHP 5.2.3 hinzugefügt. - </para> - <para> - Siehe auch - <function>get_html_translation_table</function>, - <function>htmlspecialchars_decode</function>, - <function>strip_tags</function>, - <function>htmlentities</function> und - <function>nl2br</function>. - </para> - </refsect1> - </refentry> + </programlisting> + </example> + </para> + </refsect1> + + <refsect1 role="notes"> + &reftitle.notes; + <note> + <para> + Beachten Sie, dass diese Funktion nur die o.a. Umwandlungen + durchführt. Für vollständige Code-Umwandlung verwenden Sie bitte + <function>htmlentities</function>. + </para> + </note> + </refsect1> + + <refsect1 role="seealso"> + &reftitle.seealso; + <para> + <simplelist> + <member><function>get_html_translation_table</function></member> + <member><function>htmlspecialchars_decode</function></member> + <member><function>strip_tags</function></member> + <member><function>htmlentities</function></member> + <member><function>nl2br</function></member> + </simplelist> + </para> + </refsect1> + +</refentry> <!-- Keep this comment at the end of the file http://cvs.php.net/viewvc.cgi/phpdoc-de/reference/strings/functions/levenshtein.xml?r1=1.5&r2=1.6&diff_format=u Index: phpdoc-de/reference/strings/functions/levenshtein.xml diff -u phpdoc-de/reference/strings/functions/levenshtein.xml:1.5 phpdoc-de/reference/strings/functions/levenshtein.xml:1.6 --- phpdoc-de/reference/strings/functions/levenshtein.xml:1.5 Sat Jun 23 13:21:49 2007 +++ phpdoc-de/reference/strings/functions/levenshtein.xml Sun Mar 9 11:46:29 2008 @@ -1,124 +1,110 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.5 $ --> -<!-- EN-Revision: 1.9 Maintainer: sammywg Status: ready --> -<!-- splitted from ./de/functions/strings.xml, last change in rev 1.9 --> - <refentry xml:id="function.levenshtein" xmlns="http://docbook.org/ns/docbook"> - <refnamediv> - <refname>levenshtein</refname> - <refpurpose> - Berechnet die Levenshtein-Distanz zwischen zwei Strings - </refpurpose> - </refnamediv> - <refsect1 role="description"> - &reftitle.description; - <methodsynopsis> - <type>int</type><methodname>levenshtein</methodname> - <methodparam><type>string</type><parameter>str1</parameter></methodparam> - <methodparam><type>string</type><parameter>str2</parameter></methodparam> - <methodparam choice="opt"><type>int</type><parameter>cost_ins</parameter></methodparam> - <methodparam><type>int</type><parameter>cost_rep</parameter></methodparam> - <methodparam><type>int</type><parameter>cost_del</parameter></methodparam> - </methodsynopsis> - <!-- Callback function not yet implemented, see bug #29552 - <methodsynopsis> - <type>int</type><methodname>levenshtein</methodname> - <methodparam><type>string</type><parameter>str1</parameter></methodparam> - <methodparam><type>string</type><parameter>str2</parameter></methodparam> - <methodparam><type>callback</type><parameter>cost</parameter></methodparam> - </methodsynopsis> - --> - <para> - Die Funktion gibt die Levenshtein-Distanz zwischen den beiden - Argument-Strings oder -1 zurück, sofern eines der Argumente länger als 255 - Zeichen ist. - </para> - <para> - Die Levenshtein-Distanz bezeichnet die minimale Anzahl von Zeichen, die - Sie ersetzen, einfügen oder löschen müssen, um <parameter>str1</parameter> - in <parameter>str2</parameter> umzuwandeln. Die Komplexität des Algorithmus - ist <literal>0(m*n)</literal>, wobei <literal>n</literal> und - <literal>m</literal> die Länge von <parameter>str1</parameter> und - <parameter>str2</parameter> darstellen (deutlich besser, wenn man mit - <function>similar_text</function> vergleicht, was mit 0(max(n,m)**3) daher - kommt, aber trotzdem immer noch teuer). - </para> - <para> - In ihrer einfachsten Form erhält die Funktion nur die zwei Strings als - Parameter und berechnet nur die Anzahl der Einfügungen, Ersetzungen und - Löschungen, die benötigt werden, um <parameter>str1</parameter> in - <parameter>str2</parameter> zu überführen. - </para> - <para> - Eine zweite Variante verwendet drei zusätzliche Parameter, die die Kosten - von Einfügungen, Ersetzungen und Löschungen festlegen. Dies ist eine - allgemeingültigere und anpassungsfähigere Version als Variante eins, aber - nicht so effizient. - </para> - <!-- Callback function not yet implemented, see bug #29552 - <para> - The third variant (which is not implemented yet) will be the most - general and adaptive, but also the slowest alternative. It will - call a user-supplied function that will determine the cost for - every possible operation. - </para> - <para> - The user-supplied function will be called with the following - arguments: - <itemizedlist> - <listitem> - <simpara> - operation to apply: 'I', 'R' or 'D' - </simpara> - </listitem> - <listitem> - <simpara> - actual character in string 1 - </simpara> - </listitem> - <listitem> - <simpara> - actual character in string 2 - </simpara> - </listitem> - <listitem> - <simpara> - position in string 1 - </simpara> - </listitem> - <listitem> - <simpara> - position in string 2 - </simpara> - </listitem> - <listitem> - <simpara> - remaining characters in string 1 - </simpara> - </listitem> - <listitem> - <simpara> - remaining characters in string 2 - </simpara> - </listitem> - </itemizedlist> - The user-supplied function has to return a positive integer - describing the cost for this particular operation, but it may - decide to use only some of the supplied arguments. - </para> - <para> - The user-supplied function approach offers the possibility to - take into account the relevance of and/or difference between - certain symbols (characters) or even the context those symbols - appear in to determine the cost of insert, replace and delete - operations, but at the cost of losing all optimizations done - regarding cpu register utilization and cache misses that have - been worked into the other two variants. - </para> - --> - <para> - <example> - <title><function>levenshtein</function>-Beispiel</title> - <programlisting role="php"> +<!-- $Revision: 1.6 $ --> +<!-- EN-Revision: 1.10 Maintainer: sammywg Status: ready --> + +<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.levenshtein" xmlns:xlink="http://www.w3.org/1999/xlink"> + <refnamediv> + <refname>levenshtein</refname> + <refpurpose>Berechnet die Levenshtein-Distanz zwischen zwei Strings</refpurpose> + </refnamediv> + + <refsect1 role="description"> + &reftitle.description; + <methodsynopsis> + <type>int</type><methodname>levenshtein</methodname> + <methodparam><type>string</type><parameter>str1</parameter></methodparam> + <methodparam><type>string</type><parameter>str2</parameter></methodparam> + <methodparam choice="opt"><type>int</type><parameter>cost_ins</parameter></methodparam> + <methodparam><type>int</type><parameter>cost_rep</parameter></methodparam> + <methodparam><type>int</type><parameter>cost_del</parameter></methodparam> + </methodsynopsis> + <para> + Die Levenshtein-Distanz bezeichnet die minimale Anzahl von Zeichen, die + Sie ersetzen, einfügen oder löschen müssen, um <parameter>str1</parameter> + in <parameter>str2</parameter> umzuwandeln. Die Komplexität des Algorithmus + ist <literal>0(m*n)</literal>, wobei <literal>n</literal> und + <literal>m</literal> die Länge von <parameter>str1</parameter> und + <parameter>str2</parameter> darstellen (deutlich besser, wenn man mit + <function>similar_text</function> vergleicht, was mit 0(max(n,m)**3) daher + kommt, aber trotzdem immer noch teuer). + </para> + <para> + In ihrer einfachsten Form erhält die Funktion nur die zwei Strings als + Parameter und berechnet nur die Anzahl der Einfügungen, Ersetzungen und + Löschungen, die benötigt werden, um <parameter>str1</parameter> in + <parameter>str2</parameter> zu überführen. + </para> + <para> + Eine zweite Variante verwendet drei zusätzliche Parameter, die die Kosten + von Einfügungen, Ersetzungen und Löschungen festlegen. Dies ist eine + allgemeingültigere und anpassungsfähigere Version als Variante eins, aber + nicht so effizient. + </para> + </refsect1> + + <refsect1 role="parameters"> + &reftitle.parameters; + <para> + <variablelist> + <varlistentry> + <term><parameter>str1</parameter></term> + <listitem> + <para> + Eine der Zeichenketten, für die die Levenshtein-Distanz zu berechnen ist. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>str2</parameter></term> + <listitem> + <para> + Eine der Zeichenketten, für die die Levenshtein-Distanz zu berechnen ist. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>cost_ins</parameter></term> + <listitem> + <para> + Definiert die Kosten des Einfügens. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>cost_rep</parameter></term> + <listitem> + <para> + Definiert die Kosten des Ersetzens. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>cost_del</parameter></term> + <listitem> + <para> + Definiert die Kosten des Löschens. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect1> + + <refsect1 role="returnvalues"> + &reftitle.returnvalues; + <para> + Die Funktion gibt die Levenshtein-Distanz zwischen den beiden + Argument-Strings oder -1 zurück, sofern eines der Argumente länger als 255 + Zeichen ist. + </para> + </refsect1> + + <refsect1 role="examples"> + &reftitle.examples; + <para> + <example> + <title><function>levenshtein</function>-Beispiel</title> + <programlisting role="php"> <![CDATA[ <?php // eingegebenes falsch geschriebenes Wort @@ -126,7 +112,7 @@ // Wörterarray als Vergleichsquelle $words = array('apple','pineapple','banana','orange', - 'radish','carrot','pea','bean','potato'); + 'radish','carrot','pea','bean','potato'); // noch keine kürzeste Distanz gefunden $shortest = -1; @@ -134,56 +120,62 @@ // durch die Wortliste gehen, um das ähnlichste Wort zu finden foreach ($words as $word) { - // berechne die distanz zwischen Inputwort und aktuellem Wort - $lev = levenshtein($input, $word); + // berechne die Distanz zwischen Inputwort und aktuellem Wort + $lev = levenshtein($input, $word); - // auf einen exakten Treffer prüfen - if ($lev == 0) { + // auf einen exakten Treffer prüfen + if ($lev == 0) { - // das nächste Wort ist das Wort selbst (exakter Treffer) - $closest = $word; - $shortest = 0; - - // Schleife beenden, da wir einen exakten Treffer gefunden haben - break; - } - - // Wenn die Distanz kleiner ist als die nächste gefundene kleinste Distanz - // ODER wenn ein nächstkleineres Wort noch nicht gefunden wurde - if ($lev <= $shortest || $shortest < 0) { - // setze den nächstliegenden Treffer und die kürzestes Distanz - $closest = $word; - $shortest = $lev; - } + // das nächste Wort ist das Wort selbst (exakter Treffer) + $closest = $word; + $shortest = 0; + + // Schleife beenden, da wir einen exakten Treffer gefunden haben + break; + } + + // Wenn die Distanz kleiner ist als die nächste gefundene kleinste Distanz + // ODER wenn ein nächstkleineres Wort noch nicht gefunden wurde + if ($lev <= $shortest || $shortest < 0) { + // setze den nächstliegenden Treffer und die kürzestes Distanz + $closest = $word; + $shortest = $lev; + } } echo "Eingegebenes Wort: $input\n"; if ($shortest == 0) { - echo "Exakter Treffer gefunden: $closest\n"; + echo "Exakter Treffer gefunden: $closest\n"; } else { - echo "Meinten Sie: $closest?\n"; + echo "Meinten Sie: $closest?\n"; } ?> ]]> - </programlisting> - &example.outputs; - <screen> + </programlisting> + &example.outputs; + <screen> <![CDATA[ Eingegebenes Word: carrrot Meinten Sie: carrot? ]]> - </screen> - </example> - </para> - <para> - Siehe auch - <function>soundex</function>, - <function>similar_text</function> und - <function>metaphone</function>. - </para> - </refsect1> - </refentry> + </screen> + </example> + </para> + </refsect1> + + <refsect1 role="seealso"> + &reftitle.seealso; + <para> + <simplelist> + <member><function>soundex</function></member> + <member><function>similar_text</function></member> + <member><function>metaphone</function></member> + </simplelist> + </para> + </refsect1> + +</refentry> <!-- Keep this comment at the end of the file Local variables:
http://cvs.php.net/viewvc.cgi/phpdoc-de/reference/strings/functions/chr.xml?r1=1.6&r2=1.7&diff_format=u Index: phpdoc-de/reference/strings/functions/chr.xml diff -u phpdoc-de/reference/strings/functions/chr.xml:1.6 phpdoc-de/reference/strings/functions/chr.xml:1.7 --- phpdoc-de/reference/strings/functions/chr.xml:1.6 Wed Oct 17 00:05:47 2007 +++ phpdoc-de/reference/strings/functions/chr.xml Sun Mar 9 11:46:29 2008 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.6 $ --> -<!-- EN-Revision: 1.7 Maintainer: sammywg Status: ready --> +<!-- $Revision: 1.7 $ --> +<!-- EN-Revision: 1.8 Maintainer: sammywg Status: ready --> <refentry xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://docbook.org/ns/docbook" xml:id="function.chr"> <refnamediv> <refname>chr</refname> @@ -71,6 +71,7 @@ <para> <simplelist> <member><function>sprintf</function> mit der Formatierungsanweisung <literal>%c</literal></member> + <member><function>ord</function></member> <member>Eine <link xlink:href="&url.asciitable;">ASCII-Tabelle</link></member> </simplelist> </para> http://cvs.php.net/viewvc.cgi/phpdoc-de/reference/strings/functions/count-chars.xml?r1=1.8&r2=1.9&diff_format=u Index: phpdoc-de/reference/strings/functions/count-chars.xml diff -u phpdoc-de/reference/strings/functions/count-chars.xml:1.8 phpdoc-de/reference/strings/functions/count-chars.xml:1.9 --- phpdoc-de/reference/strings/functions/count-chars.xml:1.8 Thu Oct 25 18:52:23 2007 +++ phpdoc-de/reference/strings/functions/count-chars.xml Sun Mar 9 11:46:29 2008 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.8 $ --> -<!-- EN-Revision: 1.10 Maintainer: sammywg Status: ready --> +<!-- $Revision: 1.9 $ --> +<!-- EN-Revision: 1.11 Maintainer: sammywg Status: ready --> <refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.count-chars"> <refnamediv> <refname>count_chars</refname> @@ -72,12 +72,12 @@ </listitem> <listitem> <simpara> - 3 - ein String, der alle vorkommenden Zeichen enthält. + 3 - eine Zeichenkette, die alle vorkommenden Zeichen enthält. </simpara> </listitem> <listitem> <simpara> - 4 - ein String, der alle nicht vorkommenden Zeichen enthält. + 4 - eine Zeichenkette, die alle nicht vorkommenden Zeichen enthält. </simpara> </listitem> </itemizedlist> http://cvs.php.net/viewvc.cgi/phpdoc-de/reference/strings/functions/explode.xml?r1=1.9&r2=1.10&diff_format=u Index: phpdoc-de/reference/strings/functions/explode.xml diff -u phpdoc-de/reference/strings/functions/explode.xml:1.9 phpdoc-de/reference/strings/functions/explode.xml:1.10 --- phpdoc-de/reference/strings/functions/explode.xml:1.9 Thu Oct 25 18:52:23 2007 +++ phpdoc-de/reference/strings/functions/explode.xml Sun Mar 9 11:46:29 2008 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.9 $ --> -<!-- EN-Revision: 1.17 Maintainer: sammywg Status: ready --> +<!-- $Revision: 1.10 $ --> +<!-- EN-Revision: 1.18 Maintainer: sammywg Status: ready --> <refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.explode"> <refnamediv> <refname>explode</refname> @@ -184,6 +184,7 @@ <simplelist> <member><function>preg_split</function></member> <member><function>str_split</function></member> + <member><function>str_word_count</function></member> <member><function>strtok</function></member> <member><function>implode</function></member> </simplelist> http://cvs.php.net/viewvc.cgi/phpdoc-de/reference/strings/functions/htmlspecialchars.xml?r1=1.9&r2=1.10&diff_format=u Index: phpdoc-de/reference/strings/functions/htmlspecialchars.xml diff -u phpdoc-de/reference/strings/functions/htmlspecialchars.xml:1.9 phpdoc-de/reference/strings/functions/htmlspecialchars.xml:1.10 --- phpdoc-de/reference/strings/functions/htmlspecialchars.xml:1.9 Thu Oct 25 18:52:23 2007 +++ phpdoc-de/reference/strings/functions/htmlspecialchars.xml Sun Mar 9 11:46:29 2008 @@ -1,113 +1,201 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.9 $ --> -<!-- EN-Revision: 1.10 Maintainer: sammywg Status: ready --> - <refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.htmlspecialchars"> - <refnamediv> - <refname>htmlspecialchars</refname> - <refpurpose>Wandelt Sonderzeichen in HTML-Codes um</refpurpose> - </refnamediv> - <refsect1> - &reftitle.description; - <methodsynopsis> - <type>string</type><methodname>htmlspecialchars</methodname> - <methodparam><type>string</type><parameter>string</parameter></methodparam> - <methodparam choice="opt"><type>int</type><parameter>quote_style</parameter></methodparam> - <methodparam choice="opt"><type>string</type><parameter>charset</parameter></methodparam> - <methodparam choice="opt"><type>bool</type><parameter>double_encode</parameter></methodparam> - </methodsynopsis> - <para> - Bestimmte Zeichen haben in HTML eine spezielle Bedeutung und - sollten in HTML-Code dargestellt werden, um ihre Bedeutung zu - behalten. Diese Funktion liefert einen String zurück, in dem - manche dieser Konvertierungen durchgeführt wurden. Die hier - vorgenommenen Umwandlungen sind die gebräuchlichsten für die tägliche - Web-Programmierung. Sofern Sie eine vollständige Konvertierung der - HTML-Zeichen benötigen, sollten Sie stattdessen - <function>htmlentities</function> verwenden. - </para> - <simpara> - Diese Funktion ist hilfreich, um vom Benutzer gelieferten Text frei - von HTML-Code zu halten, wie z.B. in Foren oder Gästebüchern. Das optionale - zweite Argument <parameter>quote_style</parameter> legt fest, wie einfache - und doppelte Anführungszeichen behandelt werden sollen. Die - Standardeinstellung <constant>ENT_COMPAT</constant> ist abwärtskompatibel - und behandelt nur die doppelten, nicht aber die einfachen Anführungszeichen. - Ist <constant>ENT_QUOTES</constant> angegeben, werden einfache und doppelte - Anführungszeichen umgewandelt, und sofern <constant>ENT_NOQUOTES</constant> - angegeben wurde, bleiben sowohl einfache als auch doppelte Anführungszeichen - unberührt. - </simpara> - <para> - Folgende Umwandlungen werden vorgenommen: - <itemizedlist> - <listitem> - <simpara> - '&' (Ampersand/kaufmännisches Und) wird zu '&amp;'. - </simpara> - </listitem> - <listitem> - <simpara> - '"' (doppeltes Anführungszeichen) wird zu '&quot;', - wenn <constant>ENT_NOQUOTES</constant> nicht gesetzt ist. - </simpara> - </listitem> - <listitem> - <simpara> - ''' (einfaches Anführungszeichen) wird nur zu '&#039;', - wenn <constant>ENT_QUOTES</constant> gesetzt ist. - </simpara> - </listitem> - <listitem> - <simpara> - '<' (kleiner als) wird zu '&lt;' - </simpara> - </listitem> - <listitem> - <simpara> - '>' (größer als) wird zu '&gt;' - </simpara> - </listitem> - </itemizedlist> - <example> - <title><function>htmlspecialchars</function>-Beispiel</title> - <programlisting role="php"> +<!-- $Revision: 1.10 $ --> +<!-- EN-Revision: 1.13 Maintainer: sammywg Status: ready --> + +<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.htmlspecialchars" xmlns:xlink="http://www.w3.org/1999/xlink"> + <refnamediv> + <refname>htmlspecialchars</refname> + <refpurpose>Wandelt Sonderzeichen in HTML-Codes um</refpurpose> + </refnamediv> + + <refsect1 role="description"> + &reftitle.description; + <methodsynopsis> + <type>string</type><methodname>htmlspecialchars</methodname> + <methodparam><type>string</type><parameter>string</parameter></methodparam> + <methodparam choice="opt"><type>int</type><parameter>quote_style</parameter></methodparam> + <methodparam choice="opt"><type>string</type><parameter>charset</parameter></methodparam> + <methodparam choice="opt"><type>bool</type><parameter>double_encode</parameter></methodparam> + </methodsynopsis> + <para> + Bestimmte Zeichen haben in HTML eine spezielle Bedeutung und + sollten in HTML-Code dargestellt werden, um ihre Bedeutung zu + behalten. Diese Funktion liefert einen String zurück, in dem + manche dieser Konvertierungen durchgeführt wurden. Die hier + vorgenommenen Umwandlungen sind die gebräuchlichsten für die tägliche + Web-Programmierung. Sofern Sie eine vollständige Konvertierung der + HTML-Zeichen benötigen, sollten Sie stattdessen + <function>htmlentities</function> verwenden. + </para> + <simpara> + Diese Funktion ist hilfreich, um vom Benutzer gelieferten Text frei + von HTML-Code zu halten, wie z.B. in Foren oder Gästebüchern. + </simpara> + <para> + Folgende Umwandlungen werden vorgenommen: + <itemizedlist> + <listitem> + <simpara> + '&' (Ampersand/kaufmännisches Und) wird zu '&amp;'. + </simpara> + </listitem> + <listitem> + <simpara> + '"' (doppeltes Anführungszeichen) wird zu '&quot;', + wenn <constant>ENT_NOQUOTES</constant> nicht gesetzt ist. + </simpara> + </listitem> + <listitem> + <simpara> + ''' (einfaches Anführungszeichen) wird nur zu '&#039;', + wenn <constant>ENT_QUOTES</constant> gesetzt ist. + </simpara> + </listitem> + <listitem> + <simpara> + '<' (kleiner als) wird zu '&lt;' + </simpara> + </listitem> + <listitem> + <simpara> + '>' (größer als) wird zu '&gt;' + </simpara> + </listitem> + </itemizedlist> + </para> + </refsect1> + + <refsect1 role="parameters"> + &reftitle.parameters; + <para> + <variablelist> + <varlistentry> + <term><parameter>string</parameter></term> + <listitem> + <para> + Die zu konvertierende Zeichenkette. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>quote_style</parameter></term> + <listitem> + <para> + Das optionale zweite Argument <parameter>quote_style</parameter> gibt an, + wie die Funktion mit einfachen und doppelten Anführungszeichen umgehen + soll. Der Standardmodus <constant>ENT_COMPAT</constant> ist + abwärtskompatibel und übersetzt nur die doppelten Anführungszeichen, + während die einfachen Anführungszeichen unbehandelt bleiben. Wird statt + dessen der Modus <constant>ENT_QUOTES</constant> verwendet, werden sowohl + einfache als auch doppelte Anführungszeichen umgewandelt. Das Setzen von + <constant>ENT_NOQUOTES</constant> bewirkt ein Ignorieren sowohl von + einfachen als auch von doppelten Anführungszeichen. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>charset</parameter></term> + <listitem> + <para> + Definiert den Zeichensatz, der der Übersetzung zugrunde gelegt wird. Der + Standardwert ist ISO-8859-1. + </para> + &reference.strings.charsets; + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>double_encode</parameter></term> + <listitem> + <para> + Wird der Parameter <parameter>double_encode</parameter> ausgeschaltet, + kodiert PHP bereits existierende HTML-Entities nicht noch einmal. + Standardmäßig werden jedoch alle Zeichen konvertiert. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect1> + + <refsect1 role="returnvalues"> + &reftitle.returnvalues; + <para> + Der konvertierte <type>string</type>. + </para> + </refsect1> + + <refsect1 role="changelog"> + &reftitle.changelog; + <para> + <informaltable> + <tgroup cols="2"> + <thead> + <row> + <entry>&Version;</entry> + <entry>&Description;</entry> + </row> + </thead> + <tbody> + <row> + <entry>5.2.3</entry> + <entry> + Der Parameter <parameter>double_encode</parameter> wurde hinzugefügt. + </entry> + </row> + <row> + <entry>4.1.0</entry> + <entry> + Der Parameter <parameter>charset</parameter> wurde hinzugefügt. + </entry> + </row> + </tbody> + </tgroup> + </informaltable> + </para> + </refsect1> + + <refsect1 role="examples"> + &reftitle.examples; + <para> + <example> + <title><function>htmlspecialchars</function>-Beispiel</title> + <programlisting role="php"> <![CDATA[ <?php $neu = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES); echo $neu; // <a href='test'>Test</a> ?> ]]> - </programlisting> - </example> - </para> - <para> - Beachten Sie, dass diese Funktion nur die o.a. Umwandlungen - durchführt. Für vollständige Code-Umwandlung verwenden Sie bitte - <function>htmlentities</function>. Die Unterstützung für das optionale - zweite Argument wurde in PHP 3.0.17 bzw. PHP 4.0.3. hinzugefügt. - </para> - <para> - Das dritte Argument <parameter>charset</parameter> definiert die für die - Konvertierung verwendete Zeichenssatztabelle. Der Default-Zeichensatz ist - ISO-8859-1. Die Unterstützung für das dritte Argument wurde mit PHP 4.1.0 - eingeführt. - </para> - &reference.strings.charsets; - <para> - Wenn <parameter>double_encode</parameter> ausgeschaltet ist, verändert - PHP keine bereits vorhandenen HTML-Entities. Standardmäßig wird jedoch - alles konvertiert. Dieser Parameter wurde mit PHP 5.2.3 hinzugefügt. - </para> - <para> - Siehe auch - <function>get_html_translation_table</function>, - <function>htmlspecialchars_decode</function>, - <function>strip_tags</function>, - <function>htmlentities</function> und - <function>nl2br</function>. - </para> - </refsect1> - </refentry> + </programlisting> + </example> + </para> + </refsect1> + + <refsect1 role="notes"> + &reftitle.notes; + <note> + <para> + Beachten Sie, dass diese Funktion nur die o.a. Umwandlungen + durchführt. Für vollständige Code-Umwandlung verwenden Sie bitte + <function>htmlentities</function>. + </para> + </note> + </refsect1> + + <refsect1 role="seealso"> + &reftitle.seealso; + <para> + <simplelist> + <member><function>get_html_translation_table</function></member> + <member><function>htmlspecialchars_decode</function></member> + <member><function>strip_tags</function></member> + <member><function>htmlentities</function></member> + <member><function>nl2br</function></member> + </simplelist> + </para> + </refsect1> + +</refentry> <!-- Keep this comment at the end of the file http://cvs.php.net/viewvc.cgi/phpdoc-de/reference/strings/functions/levenshtein.xml?r1=1.5&r2=1.6&diff_format=u Index: phpdoc-de/reference/strings/functions/levenshtein.xml diff -u phpdoc-de/reference/strings/functions/levenshtein.xml:1.5 phpdoc-de/reference/strings/functions/levenshtein.xml:1.6 --- phpdoc-de/reference/strings/functions/levenshtein.xml:1.5 Sat Jun 23 13:21:49 2007 +++ phpdoc-de/reference/strings/functions/levenshtein.xml Sun Mar 9 11:46:29 2008 @@ -1,124 +1,110 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.5 $ --> -<!-- EN-Revision: 1.9 Maintainer: sammywg Status: ready --> -<!-- splitted from ./de/functions/strings.xml, last change in rev 1.9 --> - <refentry xml:id="function.levenshtein" xmlns="http://docbook.org/ns/docbook"> - <refnamediv> - <refname>levenshtein</refname> - <refpurpose> - Berechnet die Levenshtein-Distanz zwischen zwei Strings - </refpurpose> - </refnamediv> - <refsect1 role="description"> - &reftitle.description; - <methodsynopsis> - <type>int</type><methodname>levenshtein</methodname> - <methodparam><type>string</type><parameter>str1</parameter></methodparam> - <methodparam><type>string</type><parameter>str2</parameter></methodparam> - <methodparam choice="opt"><type>int</type><parameter>cost_ins</parameter></methodparam> - <methodparam><type>int</type><parameter>cost_rep</parameter></methodparam> - <methodparam><type>int</type><parameter>cost_del</parameter></methodparam> - </methodsynopsis> - <!-- Callback function not yet implemented, see bug #29552 - <methodsynopsis> - <type>int</type><methodname>levenshtein</methodname> - <methodparam><type>string</type><parameter>str1</parameter></methodparam> - <methodparam><type>string</type><parameter>str2</parameter></methodparam> - <methodparam><type>callback</type><parameter>cost</parameter></methodparam> - </methodsynopsis> - --> - <para> - Die Funktion gibt die Levenshtein-Distanz zwischen den beiden - Argument-Strings oder -1 zurück, sofern eines der Argumente länger als 255 - Zeichen ist. - </para> - <para> - Die Levenshtein-Distanz bezeichnet die minimale Anzahl von Zeichen, die - Sie ersetzen, einfügen oder löschen müssen, um <parameter>str1</parameter> - in <parameter>str2</parameter> umzuwandeln. Die Komplexität des Algorithmus - ist <literal>0(m*n)</literal>, wobei <literal>n</literal> und - <literal>m</literal> die Länge von <parameter>str1</parameter> und - <parameter>str2</parameter> darstellen (deutlich besser, wenn man mit - <function>similar_text</function> vergleicht, was mit 0(max(n,m)**3) daher - kommt, aber trotzdem immer noch teuer). - </para> - <para> - In ihrer einfachsten Form erhält die Funktion nur die zwei Strings als - Parameter und berechnet nur die Anzahl der Einfügungen, Ersetzungen und - Löschungen, die benötigt werden, um <parameter>str1</parameter> in - <parameter>str2</parameter> zu überführen. - </para> - <para> - Eine zweite Variante verwendet drei zusätzliche Parameter, die die Kosten - von Einfügungen, Ersetzungen und Löschungen festlegen. Dies ist eine - allgemeingültigere und anpassungsfähigere Version als Variante eins, aber - nicht so effizient. - </para> - <!-- Callback function not yet implemented, see bug #29552 - <para> - The third variant (which is not implemented yet) will be the most - general and adaptive, but also the slowest alternative. It will - call a user-supplied function that will determine the cost for - every possible operation. - </para> - <para> - The user-supplied function will be called with the following - arguments: - <itemizedlist> - <listitem> - <simpara> - operation to apply: 'I', 'R' or 'D' - </simpara> - </listitem> - <listitem> - <simpara> - actual character in string 1 - </simpara> - </listitem> - <listitem> - <simpara> - actual character in string 2 - </simpara> - </listitem> - <listitem> - <simpara> - position in string 1 - </simpara> - </listitem> - <listitem> - <simpara> - position in string 2 - </simpara> - </listitem> - <listitem> - <simpara> - remaining characters in string 1 - </simpara> - </listitem> - <listitem> - <simpara> - remaining characters in string 2 - </simpara> - </listitem> - </itemizedlist> - The user-supplied function has to return a positive integer - describing the cost for this particular operation, but it may - decide to use only some of the supplied arguments. - </para> - <para> - The user-supplied function approach offers the possibility to - take into account the relevance of and/or difference between - certain symbols (characters) or even the context those symbols - appear in to determine the cost of insert, replace and delete - operations, but at the cost of losing all optimizations done - regarding cpu register utilization and cache misses that have - been worked into the other two variants. - </para> - --> - <para> - <example> - <title><function>levenshtein</function>-Beispiel</title> - <programlisting role="php"> +<!-- $Revision: 1.6 $ --> +<!-- EN-Revision: 1.10 Maintainer: sammywg Status: ready --> + +<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.levenshtein" xmlns:xlink="http://www.w3.org/1999/xlink"> + <refnamediv> + <refname>levenshtein</refname> + <refpurpose>Berechnet die Levenshtein-Distanz zwischen zwei Strings</refpurpose> + </refnamediv> + + <refsect1 role="description"> + &reftitle.description; + <methodsynopsis> + <type>int</type><methodname>levenshtein</methodname> + <methodparam><type>string</type><parameter>str1</parameter></methodparam> + <methodparam><type>string</type><parameter>str2</parameter></methodparam> + <methodparam choice="opt"><type>int</type><parameter>cost_ins</parameter></methodparam> + <methodparam><type>int</type><parameter>cost_rep</parameter></methodparam> + <methodparam><type>int</type><parameter>cost_del</parameter></methodparam> + </methodsynopsis> + <para> + Die Levenshtein-Distanz bezeichnet die minimale Anzahl von Zeichen, die + Sie ersetzen, einfügen oder löschen müssen, um <parameter>str1</parameter> + in <parameter>str2</parameter> umzuwandeln. Die Komplexität des Algorithmus + ist <literal>0(m*n)</literal>, wobei <literal>n</literal> und + <literal>m</literal> die Länge von <parameter>str1</parameter> und + <parameter>str2</parameter> darstellen (deutlich besser, wenn man mit + <function>similar_text</function> vergleicht, was mit 0(max(n,m)**3) daher + kommt, aber trotzdem immer noch teuer). + </para> + <para> + In ihrer einfachsten Form erhält die Funktion nur die zwei Strings als + Parameter und berechnet nur die Anzahl der Einfügungen, Ersetzungen und + Löschungen, die benötigt werden, um <parameter>str1</parameter> in + <parameter>str2</parameter> zu überführen. + </para> + <para> + Eine zweite Variante verwendet drei zusätzliche Parameter, die die Kosten + von Einfügungen, Ersetzungen und Löschungen festlegen. Dies ist eine + allgemeingültigere und anpassungsfähigere Version als Variante eins, aber + nicht so effizient. + </para> + </refsect1> + + <refsect1 role="parameters"> + &reftitle.parameters; + <para> + <variablelist> + <varlistentry> + <term><parameter>str1</parameter></term> + <listitem> + <para> + Eine der Zeichenketten, für die die Levenshtein-Distanz zu berechnen ist. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>str2</parameter></term> + <listitem> + <para> + Eine der Zeichenketten, für die die Levenshtein-Distanz zu berechnen ist. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>cost_ins</parameter></term> + <listitem> + <para> + Definiert die Kosten des Einfügens. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>cost_rep</parameter></term> + <listitem> + <para> + Definiert die Kosten des Ersetzens. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>cost_del</parameter></term> + <listitem> + <para> + Definiert die Kosten des Löschens. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect1> + + <refsect1 role="returnvalues"> + &reftitle.returnvalues; + <para> + Die Funktion gibt die Levenshtein-Distanz zwischen den beiden + Argument-Strings oder -1 zurück, sofern eines der Argumente länger als 255 + Zeichen ist. + </para> + </refsect1> + + <refsect1 role="examples"> + &reftitle.examples; + <para> + <example> + <title><function>levenshtein</function>-Beispiel</title> + <programlisting role="php"> <![CDATA[ <?php // eingegebenes falsch geschriebenes Wort @@ -126,7 +112,7 @@ // Wörterarray als Vergleichsquelle $words = array('apple','pineapple','banana','orange', - 'radish','carrot','pea','bean','potato'); + 'radish','carrot','pea','bean','potato'); // noch keine kürzeste Distanz gefunden $shortest = -1; @@ -134,56 +120,62 @@ // durch die Wortliste gehen, um das ähnlichste Wort zu finden foreach ($words as $word) { - // berechne die distanz zwischen Inputwort und aktuellem Wort - $lev = levenshtein($input, $word); + // berechne die Distanz zwischen Inputwort und aktuellem Wort + $lev = levenshtein($input, $word); - // auf einen exakten Treffer prüfen - if ($lev == 0) { + // auf einen exakten Treffer prüfen + if ($lev == 0) { - // das nächste Wort ist das Wort selbst (exakter Treffer) - $closest = $word; - $shortest = 0; - - // Schleife beenden, da wir einen exakten Treffer gefunden haben - break; - } - - // Wenn die Distanz kleiner ist als die nächste gefundene kleinste Distanz - // ODER wenn ein nächstkleineres Wort noch nicht gefunden wurde - if ($lev <= $shortest || $shortest < 0) { - // setze den nächstliegenden Treffer und die kürzestes Distanz - $closest = $word; - $shortest = $lev; - } + // das nächste Wort ist das Wort selbst (exakter Treffer) + $closest = $word; + $shortest = 0; + + // Schleife beenden, da wir einen exakten Treffer gefunden haben + break; + } + + // Wenn die Distanz kleiner ist als die nächste gefundene kleinste Distanz + // ODER wenn ein nächstkleineres Wort noch nicht gefunden wurde + if ($lev <= $shortest || $shortest < 0) { + // setze den nächstliegenden Treffer und die kürzestes Distanz + $closest = $word; + $shortest = $lev; + } } echo "Eingegebenes Wort: $input\n"; if ($shortest == 0) { - echo "Exakter Treffer gefunden: $closest\n"; + echo "Exakter Treffer gefunden: $closest\n"; } else { - echo "Meinten Sie: $closest?\n"; + echo "Meinten Sie: $closest?\n"; } ?> ]]> - </programlisting> - &example.outputs; - <screen> + </programlisting> + &example.outputs; + <screen> <![CDATA[ Eingegebenes Word: carrrot Meinten Sie: carrot? ]]> - </screen> - </example> - </para> - <para> - Siehe auch - <function>soundex</function>, - <function>similar_text</function> und - <function>metaphone</function>. - </para> - </refsect1> - </refentry> + </screen> + </example> + </para> + </refsect1> + + <refsect1 role="seealso"> + &reftitle.seealso; + <para> + <simplelist> + <member><function>soundex</function></member> + <member><function>similar_text</function></member> + <member><function>metaphone</function></member> + </simplelist> + </para> + </refsect1> + +</refentry> <!-- Keep this comment at the end of the file Local variables: