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); ?>
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+ |