Вы можете авторизоваться через ВКонтакте, Фейсбук и оставить комментарий


Транслит (PHP)

Создавая функцию автоматического транслита с русского в английский, нужно думать прежде всего о том, чтобы этот транслит было удобно воспринимать при чтении. Поэтому лучше не делать попыток сделать «английский вариант» русской буквы уникальной.

С русского на английский

Самый простой и удобный вариант, создать 2 массив. Первый с русским алфавитом, второй с соответствующей каждой русской букве английской транслитерации.

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
<?php

// Функция русского текста в английскую транслитерацию
function rus2translit($text)
{
    
// Русский алфавит
    
$rus_alphabet = array(
        
'А''Б''В''Г''Д''Е''Ё''Ж''З''И''Й',
        
'К''Л''М''Н''О''П''Р''С''Т''У''Ф',
        
'Х''Ц''Ч''Ш''Щ''Ъ''Ы''Ь''Э''Ю''Я',
        
'а''б''в''г''д''е''ё''ж''з''и''й',
        
'к''л''м''н''о''п''р''с''т''у''ф',
        
'х''ц''ч''ш''щ''ъ''ы''ь''э''ю''я'
    
);
    
    
// Английская транслитерация
    
$rus_alphabet_translit = array(
        
'A''B''V''G''D''E''IO''ZH''Z''I''I',
        
'K''L''M''N''O''P''R''S''T''U''F',
        
'H''C''CH''SH''SH''`''Y''`''E''IU''IA',
        
'a''b''v''g''d''e''io''zh''z''i''i',
        
'k''l''m''n''o''p''r''s''t''u''f',
        
'h''c''ch''sh''sh''`''y''`''e''iu''ia'
    
);
    
    return 
str_replace($rus_alphabet$rus_alphabet_translit$text);
}

$lorem 'Но чтобы вы поняли, откуда возникает это превратное представление людей, порицающих
наслаждение и восхваляющих страдания, я раскрою перед вами всю картину и разъясню, что именно
говорил этот человек, открывший истину, которого я бы назвал зодчим счастливой жизни. Действительно,
никто не отвергает, не презирает, не избегает наслаждений только из-за того, что это наслаждения,
но лишь из-за того, что тех, кто не умеет разумно предаваться наслаждениям, постигают великие
страдания. Равно как нет никого, кто возлюбил бы, предпочел и возжаждал бы само страдание только
за то, что это страдание, а не потому, что иной раз возникают такие обстоятельства, когда страдания
и боль приносят некое и немалое наслаждение. Если воспользоваться простейшим примером, то кто из нас
стал бы заниматься какими бы то ни было тягостными физическими упражнениями, если бы это не приносило
с собой некоей пользы? И кто мог бы по справедливости упрекнуть стремящегося к наслаждению, которое
не несло бы с собой никаких неприятностей, или того, кто избегал бы такого страдания, которое
не приносило бы с собой никакого наслаждения?'
;

echo 
rus2translit($lorem);

?>

Результат

В результате на экране вы увидите:

1
2
3
4
5
6
7
8
9
10
11
12
No chtoby vy poniali, otkuda voznikaet eto prevratnoe predstavlenie liudei, poricaiushih
naslazhdenie i voshvaliaiushih stradaniia, ia raskroiu pered vami vsiu kartinu i raz`iasniu, chto imenno
govoril etot chelovek, otkryvshii istinu, kotorogo ia by nazval zodchim schastlivoi zhizni. Deistvitel`no,
nikto ne otvergaet, ne preziraet, ne izbegaet naslazhdenii tol`ko iz-za togo, chto eto naslazhdeniia,
no lish` iz-za togo, chto teh, kto ne umeet razumno predavat`sia naslazhdeniiam, postigaiut velikie
stradaniia. Ravno kak net nikogo, kto vozliubil by, predpochel i vozzhazhdal by samo stradanie tol`ko
za to, chto eto stradanie, a ne potomu, chto inoi raz voznikaiut takie obstoiatel`stva, kogda stradaniia
i bol` prinosiat nekoe i nemaloe naslazhdenie. Esli vospol`zovat`sia prosteishim primerom, to kto iz nas
stal by zanimat`sia kakimi by to ni bylo tiagostnymi fizicheskimi uprazhneniiami, esli by eto ne prinosilo
s soboi nekoei pol`zy? I kto mog by po spravedlivosti upreknut` stremiashegosia k naslazhdeniiu, kotoroe
ne neslo by s soboi nikakih nepriiatnostei, ili togo, kto izbegal by takogo stradaniia, kotoroe
ne prinosilo by s soboi nikakogo naslazhdeniia?

Транслит онлайн на сайте.

Опубликовано: 01 октября 2011  ·  Автор: Артём Фёдоров  ·  5900 просмотров

Категория

ГлавнаяПрограммированиеPHPСтрокиТранслит (PHP)

Чтобы оставить комментарий нужно авторизоваться на сайте
или войти через ВКонтакте или Фейсбук

Войти через ФейсбукВойти через Твиттер

Комментарии

Строки, PHP, Программирование

© 2010-2017 expange.ru
При полном или частичном копировании статей сайта, ссылка на источник обязательна.

Хотите узнать больше информации, пишите на: artem@expange.ru

Полезное онлайн  ·  Новости  ·  Изображения  ·  Статьи по датам

О проекте  ·  Правила пользования  ·  Представительства

Благодарности и пожелания