Скрипт за превод от кирилица към латиница

Admin

Registered
Трябва ми скрипт който да преведе букви от кирилица на латиница.
Примерно Банско да го преведе Bansko.
Мога да го напиша но ако някой има да ми спести мъките.
 
Заповядай
PHP:
<?php
$cl_text = $_REQUEST['cl_text'];
$lang = $_REQUEST['lang'];
$retext = $cl_text;

$cyrilic = array('ч','щ','ш','ю','а','б','в','г','д','е','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ъ','ь','я','у','Ч','Щ','Ш','Ю','А','Б','В', 'Г','Д','Е','Ж','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','У','Ф','Х','Ц','Ъ','Ь','Я','У');
$latin = array('ch','sht','sh','iu','a','b','v','g','d','e','j','z','i','j','k','l','m','n','o','p','r','s','t','u','f','h','c','y','y','q','w','Ch','Sht','Sh','Iu','A','B','V', 'G','D','E','J','Z','I','J','K','L','M','N','O','P','R','S','T','U','F','H','C','Y','Y','Q','W');

$i = "0";

if ($lang == "cyrilic") {
while($i < count($latin)) {
$retext = str_replace($latin[$i], $cyrilic[$i], $retext);
$i++;
}
}else{
if ($lang == "latin") {
while($i < count($cyrilic)) {
$retext = str_replace($cyrilic[$i], $latin[$i], $retext);
$i++;
}
}
}

echo '<form action="?" method="GET"> <b>Въведи текста:</b><br/>
<textarea name="cl_text" rows="6" cols="60">'.$cl_text.'</textarea><br/>
<b>Преведен:</b><br/>
<textarea rows="6" cols="60" >'.$retext.'</textarea><BR/>
<input type="radio" name="lang" value="cyrilic" id="langC"><label for="langC">Към кирилица</label>     <input type="radio" name="lang" value="latin" id="langL"><label for="langL">Към латиница</label><br/>
<input type="submit" value="Обърни"/>     <input type="reset" value="Изчисти"/>
</form>';
?>
 
Това мисля, че е по-практично
Код:
function cyr2lat($text) {
    $cyr = array("А", "Б", "В", "Г", "Д", "Е", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ъ", "Ю", "Я", "а", "б", "в", "г", "д", "е", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ъ", "ь", "ю", "я");
    $lat = array("A", "B", "V", "G", "D", "E", "ZH", "Z", "I", "J", "K", "L", "M", "N", "O", "P", "R", "S", "T", "U", "F", "H", "TS", "CH", "SH", "SCH", "Y", "YU", "YA", "a", "b", "v", "g", "d", "e", "zh", "z", "i", "j", "k", "l", "m", "n", "o", "p", "r", "s", "t", "u", "f", "h", "ts", "ch", "sh", "sch", "y", "y", "yu", "ya");

    return str_replace($cyr, $lat, $text);
}
 
PHP:
function latinica($lat){
	$latinica=array("a","b","v", "g","d","e", "j", "z", "i", "ii", "k", "l", "m","n","o", "p","r","s", "t","u","f", "h","c","ch" , "sh","sht", "u", "io", "iu", "q", "A","B","V", "G","D","E", "J", "Z", "I", "II", "K", "L", "M","N","O", "P","R","S", "T","U","F", "H","C","CH" , "SH","SHT", "U", "IO", "IU", "Q"); //латинските букви
	$kirilica=array("а", "б", "в", "г", "д", "е", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ъ", "ь", "ю", "я", "А", "Б", "В", "Г", "Д", "Е", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ъ", "Ь", "ю", "Я"); //кирилица, съответстващ на латиницата по-горе
	$bbc_num=count($kirilica); //бройм елементите във $kirilica
	$loop=0;
	while($loop<$bbc_num){
		$lat=str_replace($kirilica[$loop], $latinica[$loop], $lat); //заместваме
		$loop++;
	}
	return $lat;
}
$strings = latinica($lyric_kirilica);

:?:
 

Back
Горе