1
2
3
4
5
6
7
8
9
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
|
<?php
// Очистка от лишних символов, // заменяет пробельные символы на дефисы // мы уже пользовались такой константой. define('IRB_CLEAR', 1); // Перевод с латиницы в кириллицу define('IRB_STRING_RU', 2); ////////////////////////////////////////////////// $string = 'съешь еще этих мягких французских булок да выпей чаю?!:@#№'; echo translateWord($string, IRB_CLEAR); ///////////////////////////////////////////////// // Функция
function translateWord() { $args = func_get_args(); $text = $args[0]; unset($args[0]); if(array_search(1, $args) !== false) { $text = preg_replace('#[\s\r\n\t]+#uis', ' ', $text); $text = preg_replace('#[^0-9a-zа-яё\s_-]#ui', '', $text); } $ru = array( 'А', 'Б', 'В', 'Г', 'Д', 'Е', 'Ё', 'Ж', 'З', 'И', 'Й', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р', 'С', 'Т', 'У', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ', 'Ы', 'Ъ', 'Ь', 'Э', 'Ю', 'Я', 'а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ы', 'ъ', 'ь', 'э', 'ю', 'я', ' ' ); $en = array( "A", "B", "V", "G", "D", "E", "E", "ZH", "Z", "I", "J", "K", "L", "M", "N", "O", "P", "R", "S", "T", "U", "F" , "X" , "CZ", "CH", "SH", "SHH", "Y", "''", "'", "E", "YU", "YA", "a", "b", "v", "g", "d", "e", "e", "zh", "z", "i", "j", "k", "l", "m", "n", "o", "p", "r", "s", "t", "u", "f" , "x" , "cz", "ch", "sh", "shh", "y", "", "", "e", "yu", "ya", "-" ); if(array_search(2, $args) !== false) { $translated = str_replace($en, $ru, $text); $translated = preg_replace('/(?<=[а-яё])Ь/u', 'ь', $translated); $translated = preg_replace('/(?<=[а-яё])Ъ/u', 'ъ', $translated); } else $translated = str_replace($ru, $en, $text); return $translated; }
|
Роман