Ankündigung

Einklappen
Keine Ankündigung bisher.

Umliegende Tasten finden

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Umliegende Tasten finden

    Hallo Community,

    ich hätte gerne eine PHP Funktion die mir alle umliegenden Tasten eines bestimmten Buchstabens auf der Tastatur ausgibt.

    Beispiel:

    "j" -> uikmnh

    Also alle Buchstaben neben dem Buchstaben "j".

    Danke,
    rimbimbi


  • #2
    Gibt es nicht, musst du bauen. Lokalisierung nicht vergessen
    Standards - Best Practices - AwesomePHP - Guideline für WebApps

    Kommentar


    • #3
      Lustige Tastatur hat du da. Bei mir sind da ganz andere Buchstaben "neben" (um?) das J .
      GitHub.com - ChrisAndChris - RowMapper und QueryBuilder für MySQL-Datenbanken

      Kommentar


      • #4
        Dirty aber funzt bei meiner Tatstatur. Musst eben entsprechend umschreiben
        PHP-Code:
        function getRow($arr='',$pos=0){
            if(
        $arr[$pos-1]){$charcode[].=$arr[$pos-1];}
            if(
        $arr[$pos]){$charcode[].=$arr[$pos];}
            if(
        $arr[$pos+1]){$charcode[].=$arr[$pos+1];}
            return 
        implode('|',$charcode);
        }
        function 
        getClosest($char=''){
            
        $keycode=ord(strtolower($char));
            
            
        $row1=array(1,2,3,4,5,6,7,8,9,0,'ß');
            
        $row2=array('q','w','e','r','t','z','u','i','o','p','ü');
            
        $row3=array('a','s','d','f','g','h','j','k','l','ö','ä');
            
        $row4=array('y','x','c','v','b','n','m',',','.','-','y');
            for(
        $i=0$i<count($row1); $i++){$row1[$i]=ord($row1[$i]);} 
            for(
        $i=0$i<count($row2); $i++){$row2[$i]=ord($row2[$i]);} 
            for(
        $i=0$i<count($row3); $i++){$row3[$i]=ord($row3[$i]);} 
            for(
        $i=0$i<count($row4); $i++){$row4[$i]=ord($row4[$i]);} 
            for(
        $i=0$i<count($row1); $i++){if($row1[$i]==$keycode){$charcodeback[].=getRow($row1,$i);$charcodeback[].=getRow($row2,$i);}}
            for(
        $i=0$i<count($row2); $i++){if($row2[$i]==$keycode){$charcodeback[].=getRow($row1,$i);$charcodeback[].=getRow($row2,$i); $charcodeback[].=getRow($row3,$i);}}
            for(
        $i=0$i<count($row3); $i++){if($row3[$i]==$keycode){$charcodeback[].=getRow($row2,$i);$charcodeback[].=getRow($row3,$i); $charcodeback[].=getRow($row4,$i);}}
            for(
        $i=0$i<count($row4); $i++){if($row4[$i]==$keycode){$charcodeback[].=getRow($row3,$i);$charcodeback[].=getRow($row4,$i);}}
            
        $tostring=explode('|',implode('|',$charcodeback));
            for(
        $i=0$i<count($tostring); $i++){
                
        $results[].=chr($tostring[$i]);
            }
            return 
        $results;
        }
        print_r(getClosest('j')); 
        Ausgabe:
        PHP-Code:
        Array ( [0] => [1] => [2] => [3] => [4] => [5] => [6] => [7] => [8] => , ) 

        Kommentar


        • #5
          Zitat von ChristianK Beitrag anzeigen
          Lustige Tastatur hat du da. Bei mir sind da ganz andere Buchstaben "neben" (um?) das J .
          Hab eine ergonomische

          Kommentar


          • #6
            Zitat von Labrar Beitrag anzeigen
            Dirty aber funzt bei meiner Tatstatur. Musst eben entsprechend umschreiben
            PHP-Code:
            function getRow($arr='',$pos=0){
                if(
            $arr[$pos-1]){$charcode[].=$arr[$pos-1];}
                if(
            $arr[$pos]){$charcode[].=$arr[$pos];}
                if(
            $arr[$pos+1]){$charcode[].=$arr[$pos+1];}
                return 
            implode('|',$charcode);
            }
            function 
            getClosest($char=''){
                
            $keycode=ord(strtolower($char));
                
                
            $row1=array(1,2,3,4,5,6,7,8,9,0,'ß');
                
            $row2=array('q','w','e','r','t','z','u','i','o','p','ü');
                
            $row3=array('a','s','d','f','g','h','j','k','l','ö','ä');
                
            $row4=array('y','x','c','v','b','n','m',',','.','-','y');
                for(
            $i=0$i<count($row1); $i++){$row1[$i]=ord($row1[$i]);} 
                for(
            $i=0$i<count($row2); $i++){$row2[$i]=ord($row2[$i]);} 
                for(
            $i=0$i<count($row3); $i++){$row3[$i]=ord($row3[$i]);} 
                for(
            $i=0$i<count($row4); $i++){$row4[$i]=ord($row4[$i]);} 
                for(
            $i=0$i<count($row1); $i++){if($row1[$i]==$keycode){$charcodeback[].=getRow($row1,$i);$charcodeback[].=getRow($row2,$i);}}
                for(
            $i=0$i<count($row2); $i++){if($row2[$i]==$keycode){$charcodeback[].=getRow($row1,$i);$charcodeback[].=getRow($row2,$i); $charcodeback[].=getRow($row3,$i);}}
                for(
            $i=0$i<count($row3); $i++){if($row3[$i]==$keycode){$charcodeback[].=getRow($row2,$i);$charcodeback[].=getRow($row3,$i); $charcodeback[].=getRow($row4,$i);}}
                for(
            $i=0$i<count($row4); $i++){if($row4[$i]==$keycode){$charcodeback[].=getRow($row3,$i);$charcodeback[].=getRow($row4,$i);}}
                
            $tostring=explode('|',implode('|',$charcodeback));
                for(
            $i=0$i<count($tostring); $i++){
                    
            $results[].=chr($tostring[$i]);
                }
                return 
            $results;
            }
            print_r(getClosest('j')); 
            Ausgabe:
            PHP-Code:
            Array ( [0] => [1] => [2] => [3] => [4] => [5] => [6] => [7] => [8] => , ) 
            Super, danke!

            Kommentar


            • #7
              http://www.uni-regensburg.de/EDV/Misc/KeyBoards/
              [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

              Kommentar

              Lädt...
              X