Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Problem mit Griechisch Lexikon





Frage

Hallo allerseits, habe mal wieder ein Problem mit meinem Griechisch Lexikon. Und zwar ist "Schwalbe" in der Datenbank als [b]χελιδόνι[/b] eingetragen und aber auch als [b]χελιδόνι[/b] Beide Varianten werden exakt gleich im Browser angezeigt. Problem ist aber, dass ich nicht kontrollieren kann, ob die Vokabel schon in der Datenbank vorhanden ist. Gibt es eine Möglichkeit, die eine Form in die andere zu konvertieren? Irgendwie mit decode oder so ähnlich? Weil ansonsten kommt, wenn ich "Schwalbe" eintippe zweimal das gleiche.

Antwort 1 von Uesch

Beziehungsweise, was mir auch grade einfällt. Kann man χελιδόνι aus der Datenbank auslesen, dann umformen, so wie es im Browser angezeigt wird (also ungefähr so: Xelidoni) und dann vergleichen mit den anderen Vokabeln, die man auch vorher umgeformt hat?

Antwort 2 von rabies

Aus gegebenem Anlass möchte ich hiermit noch einmal auf die Tipps in Antwort drei und vier in "Daten in neue Datenbank kopieren" verweisen.

Zu Antwort 1, ja, das geht. Lese die Daten aus, konvertiere Sie mit html_entity_decode() und vergleiche die verschiedenen Varianten mit strcmp(). Wenn strcmp 0 zurückgibt, sind die beiden Strings (so, wie Sie im Browser ausgegeben werden) gleich.

Beispiel:
$str1 = "χελιδόνι";
$str2 = "χελιδόνι";

$str1 = html_entity_decode($str);
$str2 = html_entity_decode($str);

echo strcmp($str1, $str2);
// gibt 0 zurück.

--rabies.

Antwort 3 von Uesch

Vielen Dank, das bringt mich auf jeden Fall weiter!

Antwort 4 von Uesch

Kannst du mir einen Denkansatz geben?

Weil mit
while ($datensatz= mysql_fetch_array($re)) {
$test = html_entity_decode($datensatz["griechisch"]);
$ta = strcmp($test);
komm ich nicht weiter...

Wie vergleiche ich alle Datensätze und gebe diejenigen aus, bei denen strcmp = 0 ist?


Gruß,

Üsch

Antwort 5 von Uesch

Bitte! Ich versuche es schon so lange!