genau nicht sicher, was Sie durch die ‚beste Übereinstimmung‘ bedeuten. Angenommen, Sie speichern die URLs wie oben aufgeführt in der Datenbank (http://www.website.com/extension). Außerdem kann die Eingabe die URL "http: //", "www." Oder weitere GET-Variablen in der URL enthalten. Bevor Sie die Zeichenfolge für die Datenbankabfrage übergeben, würde ich Folgendes tun:
Um die "http: //" oder "https: //" von der URL zu entfernen.
$valueStrip = explode("//",$value);
$value = $valueStrip[1];
Um Streifen aus jeder Variablen erhalten
$valueStrip = explode("?",$value);
$value = $valueStrip[0];
Auch Sie es sicher, sauber für jede Injektion Angriff SQL, sollte diese übernehmen
$value = mysql_real_escape_string($value);
Lassen
arbeiten, dass 'url' ist Der Name der Tabelle und 'Domänenname' ist der Spaltenname für den tatsächlichen Domänennamen. Also, Ihre Abfrage wie folgt aussehen könnte
$query = mysql_fetch_array(mysql_query("SELECT url FROM domainName WHERE url LIKE '%$value%'"));
Ich sollte anmerken, dass ich nicht den Code getestet haben und es könnte effizienter gestaltet werden.
http://dev.mysql.com/doc/refman/5.1/en/string-comparison-functions.html#operator_like –
Wenn Sie "beste Übereinstimmung" sagen, meinen Sie, wie * www.bdsada. com * mit einer Eingabe von * bdsad *, oder meinst du die beste Übereinstimmung basierend auf der Levenshtein-Distanz? Können Sie ein Beispiel für die Eingabe im Vergleich zur erwarteten Ausgabe geben? – netcoder
Basierend auf Levenshtein Entfernung – webmasters