80

Тут говорят!
Авторизация
Список форумов
Войти через акаунт
 

Транслітэрацыя
Подписаться/отписаться на тему (функция доступна только для зарегистрированных пользователей) Любимая тема (вкл/выкл) []

Добавление сообщений к этой теме для незарегистрированных пользователей невозможно
Тему смотрит 1 незарегистрированный пользователь
Модераторы
Рейтинг темы:   (339 просмотров)
Вы не можете создавать новые темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
 

Ліцвін_Задняпроўскі Ліцвін_Задняпроўскі в оффлайне

новичок
Сообщений: 2

Ліцвін_Задняпроўскі на старте

Праграма транслітэрацыі беларускага тэксту на PHP:

Код:
<?php

// Функцыя праверкі зычнасці літары (Й і Ў не ўключаны)
function zychn($c)
 {
 if ($c==="б" || $c==="Б" || $c==="в" || $c==="В") return 1;
 if ($c==="г" || $c==="Г" || $c==="д" || $c==="Д") return 1;
 if ($c==="ж" || $c==="Ж" || $c==="з" || $c==="З") return 1;
 if ($c==="к" || $c==="К" || $c==="л" || $c==="Л") return 1;
 if ($c==="м" || $c==="М" || $c==="н" || $c==="Н") return 1;
 if ($c==="п" || $c==="П" || $c==="р" || $c==="Р") return 1;
 if ($c==="с" || $c==="С" || $c==="т" || $c==="Т") return 1;
 if ($c==="ф" || $c==="Ф" || $c==="х" || $c==="Х") return 1;
 if ($c==="ц" || $c==="Ц" || $c==="ш" || $c==="Ш") return 1;
 return 0;
 }

// Функцыя транслітэрацыі
function translit_bel($s)
 {
 $simv=array("а"=>"a","б"=>"b","в"=>"v","г"=>"g","д"=>"d","е"=>"ie",
  "ё"=>"io","ж"=>"zh","з"=>"z","і"=>"i","й"=>"j","к"=>"k",
  "л"=>"l","м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r",
  "с"=>"s","т"=>"t","у"=>"u","ў"=>"w","ф"=>"f","х"=>"kh",
  "ц"=>"ts","ч"=>"ch","ш"=>"sh","ы"=>"y","ь"=>"","э"=>"e",
  "ю"=>"iu","я"=>"ia",
  "А"=>"A","Б"=>"B","В"=>"V","Г"=>"G","Д"=>"D","Е"=>"Ie",
  "Ё"=>"Io","Ж"=>"Zh","З"=>"Z","І"=>"I","Й"=>"J","К"=>"K",
  "Л"=>"L","М"=>"M","Н"=>"N","О"=>"O","П"=>"P","Р"=>"R",
  "С"=>"S","Т"=>"T","У"=>"U","Ў"=>"W","Ф"=>"F","Х"=>"Kh",
  "Ц"=>"Ts","Ч"=>"Ch","Ш"=>"Sh","Ы"=>"Y","Ь"=>"","Э"=>"E",
  "Ю"=>"Iu","Я"=>"Ia"
 );

 $s="$" . $s;
 $sr="";
 $i=1;
 while($i<strlen($s))
  {
  $ch=$s[$i];
  $ch_p=$s[$i-1];
  $ch_lat=$ch;
  if(isset($simv[$ch])) $ch_lat=$simv[$ch];
  // У якасці апострафа выкарыстоўваецца сімвал, які мае ў кадзіроўцы Win1251 код 146
  if ($ch==='’' && zychn($ch_p)) $ch_lat="";
  $sr=$sr . $ch_lat;
  // Дзе трэба, ia мяняем на ja, iu на ju і г.д.
  if ($ch==="е" || $ch==="ё" || $ch==="ю" || $ch==="я" || 
      $ch==="Е" || $ch==="Ё" || $ch==="Ю" || $ch==="Я")
   {
   if (!zychn($ch_p) && $sr[strlen($sr)-2]==="i") $sr[strlen($sr)-2]="j";
   if (!zychn($ch_p) && $sr[strlen($sr)-2]==="I") $sr[strlen($sr)-2]="J";
   }
  $i++;
  }
 return $sr;
 }

?>
 
Быстрый переход
[]
Вверх
HOSTER.BY: профессиональный хостинг и регистрация доменов .BY
Более 35000 сайтов выбрали нас. Присоединяйтесь!
 
РЕСУРСЫ ПОРТАЛА
   Все ресурсы