איך עושים במקלדת טלפונית הקלדה רציפה ללא צורך בסולמית אחרי כל אות (כמו שיש בכמה מודולי API)?
-
@לעזור-לכולם כתב באיך עושים במקלדת טלפונית הקלדה רציפה ללא צורך בסולמית אחרי כל אות (כמו שיש בכמה מודולי API)?:
@שמואל-ש פה יש לך קוד מוכן
function digits2abc($k) { $array_number = [3333, 333, 33, 3, 2222, 222, 22, 2, 6666, 666, 66, 6, 55555, 5555, 555, 55, 5, 44444, 4444, 444, 44, 4, 99999, 9999, 999, 99, 9, 8888, 888, 88, 8, 7777, 777, 77, 7, 0, 00, '*']; $array_abc = [3, "ג", "ב", "א", 2, "ו", "ה", "ד", 6, "ט", "ח", "ז", 5, "ל", "ך", "כ", "י", 4, "ן", "נ", "ם", "מ", 9, "ף", "פ", "ע", 'ס', 8, "ק", "ץ", 'צ', 7, "ת", "ש", "ר", " ", 0, ""]; return str_replace($array_number, $array_abc, $k); }
אתה יכול להוסיף שיהיה אפשרות להכניס מעבר שורה, נקודה, פסיק, סימן שאלה, סימן קריאה.
בכ"א תודה מראש -
@121244 כתב באיך עושים במקלדת טלפונית הקלדה רציפה ללא צורך בסולמית אחרי כל אות (כמו שיש בכמה מודולי API)?:
אתה יכול להוסיף שיהיה אפשרות להכניס מעבר שורה, נקודה, פסיק, סימן שאלה, סימן קריאה.
מה כל כך קשה להוסיף לבד על פי הרעיון שיש בקוד הנ"ל????
-
function digits2abc($k) { $array_number = [3333, 333, 33, 3, 2222, 222, 22, 2, 6666, 666, 66, 6, 55555, 5555, 555, 55, 5, 44444, 4444, 444, 44, 4, 99999, 9999, 999, 99, 9, 8888, 888, 88, 8, 7777, 777, 77, 7, 0, 00, 000, 0000, 00000, 1, 11, 111, 1111, 11111, '*']; $array_abc = [3, "ג", "ב", "א", 2, "ו", "ה", "ד", 6, "ט", "ח", "ז", 5, "ל", "ך", "כ", "י", 4, "ן", "נ", "ם", "מ", 9, "ף", "פ", "ע", 'ס', 8, "ק", "ץ", 'צ', 7, "ת", "ש", "ר", " ", "+", "-", "@", 0, ".", "?", "!", ",", 1, ""]; return str_replace($array_number, $array_abc, $k); }
לכאורה זה הקוד
@לעזור-לכולם זה בסדר? -
@לעזור-לכולם הקוד שהעליתי זה בדיוק מה שעשית רק שהוספתי בסוף עוד כמה נתונים גם מההקשות וגם ממה שאמור להיות במקומם לפי הסדר, אבל למעשה אם אני מקיש 00000 נהיה לי חמש רווחים... ואם אני מקיש 11111 נהיה לי חמש נקודות
למה? -
@שמואל-ש
צריך להשים את המשפר הגדול בהתחלה
כלומר מהגדול לקטן
(הוא מחליף את מה שהוא מוצא ראשון ודו"ק כי זמני דחוק ב"ה) -
@לעזור-לכולם עשיתי ככה
function digits2abc($k) { $array_number = [3333, 333, 33, 3, 2222, 222, 22, 2, 6666, 666, 66, 6, 55555, 5555, 555, 55, 5, 44444, 4444, 444, 44, 4, 99999, 9999, 999, 99, 9, 8888, 888, 88, 8, 7777, 777, 77, 7, 00000, 0000, 000, 00, 0, 11111, 1111, 111, 11, 1, '*']; $array_abc = [3, "ג", "ב", "א", 2, "ו", "ה", "ד", 6, "ט", "ח", "ז", 5, "ל", "ך", "כ", "י", 4, "ן", "נ", "ם", "מ", 9, "ף", "פ", "ע", 'ס', 8, "ק", "ץ", 'צ', 7, "ת", "ש", "ר", 0, "@", "-", "+", " ", 1, ",", "!", "?", ".", ""]; return str_replace($array_number, $array_abc, $k); }
ואם אני עושה למשל 00000 הוא מדפיס לי @@@@@
-
@שמואל-ש
שינית את הסדר גם בשורה השניה? -
@לעזור-לכולם א. מה עובד למסקנא ב. איפה אני מגדיר את המשתנה
-
@לעזור-לכולם כתב באיך עושים במקלדת טלפונית הקלדה רציפה ללא צורך בסולמית אחרי כל אות (כמו שיש בכמה מודולי API)?:
@שמואל-ש
שינית את הסדר גם בשורה השניה?כן, רק משום מה כאן זה השתנה...
-
@לעזור-לכולם כתב באיך עושים במקלדת טלפונית הקלדה רציפה ללא צורך בסולמית אחרי כל אות (כמו שיש בכמה מודולי API)?:
@שמואל-ש
שינית את הסדר גם בשורה השניה? -
@שמואל-ש יש משהו עובד?
-
@שמואל-ש צריך גם לעשות קריאה לפונקציה? ואיפה אני מכניס לו משתנה
-
@121244 כתב באיך עושים במקלדת טלפונית הקלדה רציפה ללא צורך בסולמית אחרי כל אות (כמו שיש בכמה מודולי API)?:
@שמואל-ש צריך גם לעשות קריאה לפונקציה? ואיפה אני מכניס לו משתנה
אם הקוד בקובץ אחר צריך לקרוא לו, ואז לשלוח לפונקצייה את המשתנה של ההקשות שהקיש המשתמש
-
@שמואל-ש
אתה לא חייב כמובן להשתמש בפונקציה, אתה יכול להעתיק את הקוד עצמו.
רק לא לשכוח לשנות את המשתנה $k לשם ה'גט' של הטקסט$array_number = [3333, 333, 33, 3, 2222, 222, 22, 2, 6666, 666, 66, 6, 55555, 5555, 555, 55, 5, 44444, 4444, 444, 44, 4, 99999, 9999, 999, 99, 9, 8888, 888, 88, 8, 7777, 777, 77, 7, 00000, 0000, 000, 00, 0, 11111, 1111, 111, 11, 1, '*']; $array_abc = [3, "ג", "ב", "א", 2, "ו", "ה", "ד", 6, "ט", "ח", "ז", 5, "ל", "ך", "כ", "י", 4, "ן", "נ", "ם", "מ", 9, "ף", "פ", "ע", 'ס', 8, "ק", "ץ", 'צ', 7, "ת", "ש", "ר", 0, "@", "-", "+", " ", 1, ",", "!", "?", ".", ""]; echo str_replace($array_number, $array_abc, $k);
-
@מתכנת-בעתיד כמובן.
אבל את התיוג תעשה לשואל השאלה @121244 ... -
@מתכנת-בעתיד כתב באיך עושים במקלדת טלפונית הקלדה רציפה ללא צורך בסולמית אחרי כל אות (כמו שיש בכמה מודולי API)?:
@שמואל-ש
אתה לא חייב כמובן להשתמש בפונקציה, אתה יכול להעתיק את הקוד עצמו.
רק לא לשכוח לשנות את המשתנה $k לשם ה'גט' של הטקסט$array_number = [3333, 333, 33, 3, 2222, 222, 22, 2, 6666, 666, 66, 6, 55555, 5555, 555, 55, 5, 44444, 4444, 444, 44, 4, 99999, 9999, 999, 99, 9, 8888, 888, 88, 8, 7777, 777, 77, 7, 00000, 0000, 000, 00, 0, 11111, 1111, 111, 11, 1, '*']; $array_abc = [3, "ג", "ב", "א", 2, "ו", "ה", "ד", 6, "ט", "ח", "ז", 5, "ל", "ך", "כ", "י", 4, "ן", "נ", "ם", "מ", 9, "ף", "פ", "ע", 'ס', 8, "ק", "ץ", 'צ', 7, "ת", "ש", "ר", 0, "@", "-", "+", " ", 1, ",", "!", "?", ".", ""]; echo str_replace($array_number, $array_abc, $k);
לא הבנתי עשית את זה בצורת פלט אני צריך את זה לתוך משתנה
ועל הדרך תוכל לכתוב לי כל מספר במה הוא מתחלף -
@MGM-IVR @לעזור-לכולם @שמואל-ש
אבל איך אני מגדיר אותם בקבלת נתונים? -
$array_number = [3333, 333, 33, 3, 2222, 222, 22, 2, 6666, 666, 66, 6, 55555, 5555, 555, 55, 5, 44444, 4444, 444, 44, 4, 99999, 9999, 999, 99, 9, 8888, 888, 88, 8, 7777, 777, 77, 7, 00000, 0000, 000, 00, 0, 11111, 1111, 111, 11, 1, '*']; $array_abc = [3, "ג", "ב", "א", 2, "ו", "ה", "ד", 6, "ט", "ח", "ז", 5, "ל", "ך", "כ", "י", 4, "ן", "נ", "ם", "מ", 9, "ף", "פ", "ע", 'ס', 8, "ק", "ץ", 'צ', 7, "ת", "ש", "ר", 0, "@", "-", "+", " ", 1, ",", "!", "?", ".", ""]; $temp = str_replace($array_number, $array_abc, $k);
כעת זה נכנס לתוך משתנה.
נ.ב.
זה לא קוד שאני הכנתי, אבל נראה לי שהוא לא כ"כ תקין.
לדוג' תבדוק את האיבר השני במערך, זה לא נראה תקין.
גם ההחלפה של המספרים בערכים לא נראה תואם.
הקוד שהביא למעלה @לעזור-לכולם נראה טוב -
@מתכנת-בעתיד גם הוא לא עבד
-
@121244 כתב באיך עושים במקלדת טלפונית הקלדה רציפה ללא צורך בסולמית אחרי כל אות (כמו שיש בכמה מודולי API)?:
@מתכנת-בעתיד גם הוא לא עבד
בדקת את הקוד של @לעזור-לכולם ?