• דף הבית
    • אינדקס קישורים
    • פוסטים אחרונים
    • משתמשים
    • חיפוש בהגדרות המתקדמות
    • חיפוש גוגל בפורום
    • ניהול המערכת
    • ניהול המערכת - שרת private
    • הרשמה
    • התחברות

    מקלדת

    מתוזמן נעוץ נעול הועבר טיפים עצות והדגמות מהמשתמשים
    מקלדתapiphp
    1 פוסטים 1 כותבים 399 צפיות 2 עוקבים
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • תגובה כנושא
    התחברו כדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • ע מנותק
      ע.ג.
      נערך לאחרונה על ידי ע.ג.

      לתועלת הציבור, אני משתף כאן מקלדת איכותית ל-PHP. (קרדיט ל-chatgpt על עזרתו בבניית המקלדת).
      נשמח אם חברי הפורום יוסיפו וישכללו את המקלדת.
      ההקלדה רציפה, כמו כתיבת איש קשר, ובסיום סולמית.
      בין שני אותיות על אותו מקש יש להקיש * (-כוכבית).
      הקשת *** (-שלוש פעמים כוכבית) מוחקת את האות האחרונה שהוקשה.
      להלן המקלדת:

       function digitsToText($digits) {
      
          $array_number = [
              22222222, 2222222, 222222, 22222, 2222, 222, 22, 2, 
              33333333, 3333333, 333333, 33333, 3333, 333, 33, 3, 
              44444444, 4444444, 444444, 44444, 4444, 444, 44, 4, 
              55555555, 5555555, 555555, 55555, 5555, 555, 55, 5, 
              66666666, 6666666, 666666, 66666, 6666, 666, 66, 6, 
              777777777, 77777777, 7777777, 777777, 77777, 7777, 777, 77, 7, 
              88888888, 8888888, 888888, 88888, 8888, 888, 88, 8, 
              999999999, 99999999, 9999999, 999999, 99999, 9999, 999, 99, 9, 
              '00000000000000', '0000000000000', '000000000000', '00000000000', '0000000000', 
              '000000000', '00000000', '0000000', '000000', '00000', '0000', '000', '00', '0', 
              11111111111, 1111111111, 111111111, 11111111, 1111111, 111111, 11111, 1111, 111, 11, 1, '*'
          ];
          
          $array_abc = [
              "c", "b", "a", 2, 2, "ו", "ה", "ד", 
              "f", "e", "d", 3, 3, "ג", "ב", "א", 
              "i", "h", "g", 4, "ן", "נ", "ם", "מ", 
              "l", "k", "j", 5, "ל", "ך", "כ", "י", 
              "o", "n", "m", 6, 6, "ט", "ח", "ז", 
              "s", "r", "q", "p", 7, 7, "ת", "ש", "ר", 
              "v", "u", "t", 8, 8, "ק", "ץ", 'צ', 
              "z", "y", "x", "w", 9, "ף", "פ", "ע", 'ס', 
              ">", "<", "#", "%", "$", "@", "&", "/", "=", "*", "-", "+", "0", " ", 
              "]", "[", ")", "(", ":", "!", "?", "'", 1, ",", ".", ""
          ];
      
          $parts = explode('***', $digits);
      
          if (count($parts) > 1) {
              while (in_array('', $parts, true)) {
                  foreach ($parts as $index => $part) {
                      if ($part === '' && $index > 0) {
                          $prevIndex = $index - 1;
                          $prevPart = $parts[$prevIndex];
      
                          foreach ($array_number as $seq) {
                              if (str_ends_with($prevPart, strval($seq))) {
                                  $parts[$prevIndex] = substr($prevPart, 0, -strlen($seq));
                                  unset($parts[$index]);
                                  $parts = array_values($parts);
                                  break 2;
                              }
                          }
                      } elseif ($part === '' && $index === 0) {
                          unset($parts[$index]);
                          $parts = array_values($parts);
                          continue 2;
                      }
                  }
              }
      
              $lastPart = array_pop($parts);
      
              foreach ($parts as &$part) {
                  foreach ($array_number as $seq) {
                      if (str_ends_with($part, strval($seq))) {
                          $part = substr($part, 0, -strlen($seq));
                          break;
                      }
                  }
              }
      
              $digits = implode('', $parts) . $lastPart;
          }
      
          $text = '';
          while ($digits !== '') {
              $matched = false;
              foreach ($array_number as $index => $seq) {
                  $seqStr = strval($seq);
      
                  if (str_starts_with($digits, $seqStr)) {
                      $text .= $array_abc[$index];
                      $digits = substr($digits, strlen($seqStr));
                      $matched = true;
                      break;
                  }
              }
      
              if (!$matched) {
                  $text .= $digits[0];
                  $digits = substr($digits, 1);
              }
          }
      
          return $text;
      }
      
      

      להלן דוגמה לשימוש במקלדת:

      // דימוי מערך GET עם פרמטר digits
      $_GET['digits'] = '77555522244099222555544';
      
      // העברת הקלט מה-GET למשתנה
      $digits = $_GET['digits'];
      
      // קריאה לפונקציה והכנסת התוצאה למשתנה
      $text = digitsToText($digits);
      
      // הדפסת התוצאה
      echo $text;
      

      להלן מקרא המקלדת:

      (1) 1 = .  
      (2) 11 = ,  
      (3) 111 = 1  
      (4) 1111 = '  
      (5) 11111 = ?  
      (6) 111111 = !  
      (7) 1111111 = :  
      (8) 11111111 = (  
      (9) 111111111 = )  
      (10) 1111111111 = [  
      (11) 11111111111 = ]  
      
      (1) 2 = ד  
      (2) 22 = ה  
      (3) 222 = ו  
      (4) 2222 = 2  
      (5) 22222 = 2  
      (6) 222222 = a  
      (7) 2222222 = b  
      (8) 22222222 = c  
      
      (1) 3 = א  
      (2) 33 = ב  
      (3) 333 = ג  
      (4) 3333 = 3  
      (5) 33333 = 3  
      (6) 333333 = d  
      (7) 3333333 = e  
      (8) 33333333 = f  
      
      (1) 4 = מ  
      (2) 44 = ם  
      (3) 444 = נ  
      (4) 4444 = ן  
      (5) 44444 = 4  
      (6) 444444 = g  
      (7) 4444444 = h  
      (8) 44444444 = i  
      
      (1) 5 = י  
      (2) 55 = כ  
      (3) 555 = ך  
      (4) 5555 = ל  
      (5) 55555 = 5  
      (6) 555555 = j  
      (7) 5555555 = k  
      (8) 55555555 = l  
      
      (1) 6 = ז  
      (2) 66 = ח  
      (3) 666 = ט  
      (4) 6666 = 6  
      (5) 66666 = 6  
      (6) 666666 = m  
      (7) 6666666 = n  
      (8) 66666666 = o  
      
      (1) 7 = ר  
      (2) 77 = ש  
      (3) 777 = ת  
      (4) 7777 = 7  
      (5) 77777 = 7  
      (6) 777777 = p  
      (7) 7777777 = q  
      (8) 77777777 = r  
      (9) 777777777 = s  
      
      (1) 8 = צ  
      (2) 88 = ץ  
      (3) 888 = ק  
      (4) 8888 = 8  
      (5) 88888 = 8  
      (6) 888888 = t  
      (7) 8888888 = u  
      (8) 88888888 = v  
      
      (1) 9 = ס  
      (2) 99 = ע  
      (3) 999 = פ  
      (4) 9999 = ף  
      (5) 99999 = 9  
      (6) 999999 = w  
      (7) 9999999 = x  
      (8) 99999999 = y  
      (9) 999999999 = z  
      
      (1) 0 =  (-רווח)
      (2) 00 = 0  
      (3) 000 = +  
      (4) 0000 = -  
      (5) 00000 = *  
      (6) 000000 = =  
      (7) 0000000 = /  
      (8) 00000000 = &  
      (9) 000000000 = @  
      (10) 0000000000 = $  
      (11) 00000000000 = %  
      (12) 000000000000 = #  
      (13) 0000000000000 = <  
      (14) 00000000000000 = >  
      
      (1) * = (הפרדה בין שני אותיות, לדוגמה כשהם על אותו מקש)
      (2) *** = (מחיקת התו האחרון, או 6 כוכביות למחיקת שני תווים אחרונים, וכו')
      

      כאמור, נשמח בכל שידרוג המקלדת לתועלת כלל הציבור.
      תודה..

      תגובה 1 תגובה אחרונה תגובה ציטוט 5
      • ע ע.ג. התייחס לנושא זה ב
      • ת תפארת יעקבב התייחס לנושא זה ב

      שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.

      נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.

      בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗

      הרשמה התחברות
      • פוסט ראשון
        פוסט אחרון