Hallo Forum!
Ich schreibe immer noch an meinem Vokabeltrainer und habe mit eurer Hilfe nun schon die größten Hürden bewältigt: es lebt!/funktioniert.
Nun will ich ein neues Feature implementieren und bin dabei auf einige Schwierigkeiten gestoßen:
Situation: User gibt Vokabel ein, aber kann leider nicht sämtliche Shortcuts für Sonderzeichen (in diesem Fall lebe der Mac hoch). Ich will dem Benutzer eine kleine Leiste an die Hand geben mit den für die jeweilig ausgewählte Sprache nötigen Sonderzeichen.
Ich habe bereits die Funktion implementiert, in der Sprachen und Sonderzeichen gemeinsam eingefügt werden können.
Das geht dann ungefähr so, dass ich in meiner User-Datenbank das Feld [Sprachen] und das Feld [Chars] habe mit korrespondierenden Zeilen.
Also z.B.
1 Französisch
2 Türkisch
3 Schwedisch
1 çïœ
2 çüö
3 åöä
(Diese Funktion ist in der stabilen Version nicht drin, aber auf http://voc.b.astahost.com/test.)
Soweit so gut. Nun zu meinen Problemen :-)
Ich lese die Sonderzeichen in einen Array ein, erstmal per Line und dann per Zeichen. Also (Beispiel ohne Einleserei, tut nichts zur Sache)
$chars = "åöä"
for($i=0;$i<strlen($chars;$i++) echo $chars[$i] . " ";
Dabei tritt mir das erste Problem auf die Füße: der Zeichensatz des Dokuments ist utf-8. Dementsprechend habe ich die Zeichen im Klartext in die Variable geschrieben und nicht irgendwie maskiert.
Die Ausgabe ist dann aber "? ? ? ? ?". Verwunderswert hierbei nicht nur, dass er die Zeichen nicht erkennt, sondern, dass er gleich 5 draus macht. Ich muss hierzu sagen, dass mir String=Array und alles recht neu war. Nunja.. Ich bin zuversichtlich, dass ihr mir sagen könnt, was ich hier falsch mache?!
Mein nächstes Problem ist folgendes:
Ich habe ja mehrere Sprachen und demzufolge mehrere Sonderzeichenkombinationen. Die grade einzugebene Sprache wählt man per Select-Menü aus. Nun müsste ich per Javascript die dazugehörigen Sonderzeichen in einer aktiv-anklickbaren Form ausgeben lassen.
Da stoße ich allerdings an meine Grenzen, da ich mit Javascript ja nicht beliebig den Inhalt ändern kann (oder dabei auf viele Kombatibilitätsprobleme stöße). Am liebsten wäre mir, wenn ich für jedes Zeichen einen eigenen Button hätte (da diese auch mit Hotkey bspw. Alt-y benutzt werden könnten). Zum Einfügen in die Textarea wollte ich die in einem der Feature-Artikel von selfHTML verfügbare insert(x,y)-Funktion benutzen.
Uppps! Da kommt mir beim Schreiben doch grad ne vernünftig klingende Idee: Buttons mit PHP schreiben und in divs für jeweilige sprache packen, nach Bedarf ein/-ausblenden. Spricht nichts gegen, oder?
Außer, dass die Accesskeys dann pro Sprache unique seien müssten, es sei denn ich ändere immer die Accesskeys im JS.. Ist aber viel Arbeit und die wenigsten werden es anwenden.. also lass ich die accesskeys aus. Sorry, gehöre zu den Menschen, denen die meisten Einfälle kommen, wenn sie behaupten sie hätten keine. Mein erstes Problem bleibt aber.
Vielen Dank, falls ihr euch erbarmt! Fühlt euch eingeladen, Probleme, die ihr mit der Seite habt anzumerken. Ich wollt sie erstmal für mich ans Laufen kriegen und dann kompatibler machen.
liebe Grüße,
Ruben