- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
<?php
function is_russian_char($c) {
return preg_match('/[А-Яа-яЁё]/u', $c);
}
function nemyxify_char($a) {
$map = [
"а" => "a",
"б" => "6",
"в" => "B",
"г" => "r",
"д" => "g",
"е" => "e",
"ё" => "e",
"ж" => "Jk",
"з" => "3",
"и" => "u",
"й" => "u",
"к" => "k",
"л" => "JI",
"м" => "M",
"н" => "H",
"о" => "o",
"п" => "n",
"р" => "p",
"с" => "c",
"т" => "m",
"у" => "y",
"ф" => "qp",
"х" => "x",
"ц" => "LL",
"ч" => "4",
"ш" => "LLI",
"щ" => "LLL",
"ь" => "b",
"ы" => "bI",
"ъ" => "b",
"э" => "3",
"ю" => "I0",
"я" => "9I",
"А" => "A",
"Д" => "D",
"Е" => "E",
"Ё" => "E",
"Ж" => "JK",
"И" => "U",
"Й" => "U",
"К" => "K",
"О" => "O",
"Р" => "P",
"С" => "C",
"Т" => "T",
"У" => "Y",
"Х" => "X",
];
if (isset($map[$a])) {
return $map[$a];
}
return $map[mb_strtolower($a)];
}
function gk_nemyxify($text) {
$res = '';
foreach (preg_split( '//u', $text, null, PREG_SPLIT_NO_EMPTY ) as $c) {
if (is_russian_char($c)) {
$res .= nemyxify_char($c);
} else {
$res .= $c;
}
}
return $res;
}