PHP levenshtein() Funktion

Beispiel

Berechne den Levenshtein-Abstand zwischen zwei Zeichenketten:

<?php
echo levenshtein("Hello World","ello World");
echo "<br>";
echo levenshtein("Hello World","ello World",10,20,30);
?>

Laufbeispiel

Definition und Verwendung

Die levenshtein() Funktion gibt die Levenshtein-Distanz zwischen zwei Zeichenfolgen zurück.

Die Levenshtein-Distanz, auch bekannt als Editierdistanz, ist die Anzahl der minimalen Editieroperationen, die erforderlich sind, um eine Zeichenfolge in eine andere zu verwandeln. Erlaubte Editieroperationen sind das Ersetzen eines Zeichens durch ein anderes, das Einfügen eines Zeichens und das Löschen eines Zeichens.

Standardmäßig gibt PHP jedem Vorgang (Ersetzen, Einfügen und Löschen) den gleichen Gewichtungsfaktor. Allerdings können Sie durch die Festlegung optionaler insert, replace, delete Parameter die Kosten für jeden Vorgang definieren.

Anmerkung:Die levenshtein() Funktion unterscheidet nicht zwischen Groß- und Kleinschreibung.

Anmerkung:Die levenshtein() Funktion ist schneller als similar_text() Die Funktion ist schneller. Allerdings bietet die similar_text() Funktion durch weniger erforderliche Änderungen genauere Ergebnisse.

Syntax

levenshtein(string1,string2,insert,replace,delete)
Parameter Beschreibung
string1 Erforderlich. Die erste zu vergleichende Zeichenfolge.
string2 Erforderlich. Die zweite zu vergleichende Zeichenfolge.
insert Optional. Der Kostenfaktor für die Einfügung eines Zeichens. Standard ist 1.
replace Optional. Der Kostenfaktor für die Ersetzung eines Zeichens. Standard ist 1.
delete Optional. Der Kostenfaktor für das Löschen eines Zeichens. Standard ist 1.

Technische Details

Rückgabewert: Gibt die Levenshtein-Distanz zwischen zwei Zeichenfolgen zurück. Wenn eine der Zeichenfolgen mehr als 255 Zeichen enthält, wird -1 zurückgegeben.
PHP Version: 4.0.1+