PHP/MySQL - Ähnlichkeiten von Username/Strings

Benutzer-621

abgemeldet
20 April 2006
744
64
Moin,
wie kann man am besten rausfinden ob ein neuer User einen ziemlich gleichen Username hat, wie in der DB schon vorhanden? Mein Vorschlag Username in ein Array füllen, dabei aber alle nicht alphanumerische Zeichen, dies dann auch beim gerade geposteten Username machen und igendwie mit similar_text, metaphone oder soundex bearbeiten. Ich denke aber, dass dies wahrscheinlich kaum hilft, bräuchte mal bitte Vorschläge von euch wie Ihr sowas lösen würdet :D.
 
Ich kann nur n Vorschlag machen, wenn ich weiß, was du vorhast. Für was soll dieses Verfahren eingesetzt werden ?
 
Wieso sollte similar_text nicht helfen, wenn du herausfinden willst ob zwei Strings ähnlich* sind ?

*Entweder kongruent; oder einen festgelegten Anteil identisch
 
theHacker schrieb:
Ich kann nur n Vorschlag machen, wenn ich weiß, was du vorhast. Für was soll dieses Verfahren eingesetzt werden ?

Doppelte/Ähnlichaussehende Username unterbinden. Habs aktuell so (s.u.), was kann man da noch "verbessern", weiß z.B. net wie um wieviel metaphone genauer arbeitet als soundex, bzw. weiß net was besser ist zum einsetzen.

PHP:
  $query['user_auslesen'] = mysql_query("SELECT * FROM user");
  while($row['user_auslesen'] = mysql_fetch_array($query['user_auslesen']))
    {
      $array['user'][] = metaphone($row['user_auslesen']['name']);
    }

  if(isset($_POST['submit']))
    {
      $check = (!in_array(metaphone(escapen($_POST['username'])), $array['user'])) ? "net vorhanden" : "vorhanden" ;
      ... mysql/meldungen ...
    }
 
tester schrieb:
Doppelte/Ähnlichaussehende Username unterbinden. Habs aktuell so (s.u.), was kann man da noch "verbessern"[...]

Bei doppelten Usernamen sind 2 Strings identisch (vorher Leerzeichen am Anfange / Ende entfernen - denke das wirkt sich auch auf das Ergebnis aus).

Und wenn du schon von "Ähnlichaussehende" und nicht von "ähnlichlautende" sprichst, dann gibst du dir die Antwort ja schon selbst: similar_text.

hate at spam dot com dot BR / user comments @php.net schrieb:
<?
similar_text($string1, $string2, $p);
echo "Percent: $p%";
?>