PHP similar text()


Die PHP Funktion similar_text() ist ein einfacher Algorithmus zur Berechnung der Ähnlichkeit zweier Strings. Ein String stellt eine Folge von Zeichen, Buchstaben oder Wörtern dar, die als Zeichenkette mit variabler Länge zusammengefasst sind. In der Praxis erfüllt die PHP similar-text() viele verschiedene Zwecke für Websites und kann deren Funktionalität erhöhen.

Hintergrund

Der Algorithmus geht zurück auf eine von Oliver (einem 1993 entwickelten File Transfer Protocol front-end) beschriebenen Methode, jedoch leicht verändert.

Die Ryte Software verwendet für die Berechnung der Texteinzigartigkeit und Ermittlung von Duplicate Content nicht die similar_text() Funktion sondern den Shingle Algorithmus, der auch von Google verwendet wird.

Das Ergebnis des Vergleichs von zwei Strings ist immer eine Prozentzahl. Eine ähnliche Funktion ist die sogenannte Levenshtein-Distanz, mit der errechnet wird, wie ein String verändert werden muss, damit er einem anderen ähnelt.[1]

Syntax

Die Syntax der Funktion lautet wie folgt:

similar_text(string1,string2,percent)

Beispiel

<?php
echo similar_text("Hallo Captain","Hello Serpino");
?>

Anwendungsgebiete

Die Funktion PHP „similar_text“ kann auf Websites verschiedene Funktionen erfüllen:

  • Sicherheitsfunktionen: Mit Hilfe von similar_text kann verhindert werden, dass ein User ein Passwort wählt, das seinem tatsächlichen Namen bzw. den Angaben, die er zur Registrierung gemacht hat, zu ähnlich ist.
  • Prüffunktion: Wer eine Datenbank ins Netz stellen möchte, z.B. mit Gedichten oder Algorithmen, kann mit der hier beschriebenen PHP-Funktion abfragen, ob bereits ein ähnlicher Text existiert. Außerdem kann die gleiche Funktion in einfacher Weise Texte auf ihre Ähnlichkeit prüfen.

Nachteile

Wenn längere Strings geprüft werden, kann die PHP-Funktion similar_text() sehr langsam werden, was sich auf die Performance einer Website negativ auswirken kann. Deshalb sollte diese Funktion nur bei kurzen Zeichenketten verwendet werden.

Einzelnachweise

  1. Function Levenshtein de.php.net Abgerufen am 29.03.2014

Weblinks