תגובה: מקלדת
הביאו שם מקלדת והוספתי לה גם מצב של עברית בלבד ואנגלית בלבד ואני חדש אז תגידו לי אם זה יעבוד
<?php
function digitsToText($digits, $mode) {
if ($mode !== null){
$array_number = [
22222, 2222, 222, 22, 2,
33333, 3333, 333, 33, 3,
44444, 4444, 444, 44, 4,
55555, 5555, 555, 55, 5,
66666, 6666, 666, 66, 6,
77777, 7777, 777, 77, 7,
88888, 8888, 888, 88, 8,
99999, 9999, 999, 99, 9,
00000, 0000, 000, 00, 0,
11111, 1111, 111, 11, 1, '*'];
if ($mode == 'he'){
$array_abc = [
2, 2, "ו", "ה", "ד",
3, 3, "ג", "ב", "א",
4, "ן", "נ", "ם", "מ",
5, "ל", "ך", "כ", "י",
6, 6, "ט", "ח", "ז",
7, 7, "ת", "ש", "ר",
8, 8, "ק", "ץ", 'צ',
9, "ף", "פ", "ע", "ס",
"*", "-", "+", "0", " "
,"?", "'", 1, ",", ".", ""
];
}
if ($mode == 'en'){
$array_abc =[
2, 2, "c", "b", "a",
3, 3, "f", "e", "d",
4, 4, "i", "h", "g",
5, 5, "l", "k", "l",
6, 6, "o", "n", "m",
7, "s", "r", "q", "p",
8, 8, "v", "u", "t",
9, 'z', 'y', 'x', 'w'
];
} else {
$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;
}
}
digitsToText(55566474766747,0);