Felix Riesterer: Varianten von Buchstaben/Sonderzeichen "normalisieren"

Beitrag lesen

Liebe Spezialisten,

ich möchte für mein Kreuzworträtsel einen Mechanismus implementieren, der sicherstellt, dass jegliche Eingabe eines Benutzers garantiert in Großbuchstaben umgewandelt werden, egal welche "Variante" eines solchen eingegeben wurden. Um das zu verdeutlichen ein paar Beispiele:

a -> A
A -> A
á -> A
Á -> A
à -> A
À -> A
ä -> A
Ä -> A
â -> A
 -> A

und so weiter. Da mir der passende Suchbegriff fehlt (ich habe es mit "normalisieren" hier versucht), habe ich keine fertige Funktion gefunden... bisher jedenfalls nicht.

Ich vermute, dass das ein riesiges Array/Objekt mit vielen Sonderzeichen-Notierungen (wie z.B. \u00fc für ü) erfordert, welches mir die vielen Sonderzeichen in meine Buchstaben umwandelt. Also in etwa so:

var codeTabelle = {  
    A : new Array(  
        \u0065, // a  
        \u0097, // A  
        \u0192, // À  
        \u0193, // Á  
        \u0194, // Â  
        \u0195, // Ã  
        \u0196, // Ä  
        \u0197, // Å  
        \u0224, // à  
        \u0225, // á  
        \u0226, // â  
        \u0227, // ã  
        \u0228, // ä  
        \u0229 // å  
    ),  
    B : new Array(...)  
}

Ligaturen (wie z.B. Æ) habe ich jetzt bewusst erst einmal außen vor gelassen.

Nun meine Frage: Hat jemand etwas Ähnliches bereits gesehen/benutzt oder davon gewusst? Ich möchte mir - wenn es geht - das Suchen und Sortieren der vielen Mutationen der diversen (Englischen?) Zeichen ersparen... und wenn es nur der Einsatz eines PHP-Scripts ist, welches mir eine solche Code-Tabelle generieren könnte.

Wer kann mir raten/weiterhelfen?

Liebe Grüße aus Ellwangen,

Felix Riesterer.

--
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)