PHP: Lat -> Cyr

Soul_Stealler

Registered
Ето как да си направим скрипт, който да прави буквите от латиница на кирилица :) . Днеска ми трябваше и си поиграх малко да попиша код :lol:

Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title><?php
$version = "0.0.1";
echo "Lat -> Cyr $version";
?></title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta name="Generator" content="Alleycode HTML Editor">
<meta name="Description" content="Your description here...">
</head>
<body>
<?php
$izraz = $_POST['text'];
$staro = array("a", "b", "v", "g", "d", "e", "j", "z", "i", "y", "k", "l", "m", "n", "o", "p", "r", "s", "t", "u", "f", "h", "tz1", "c", "sh1", "sht1", "w", "ww", "iu1", "q");
$novo = array("а", "б", "в", "г", "д", "е", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц1", "ч", "ш1", "щ1", "ъ", "ь", "ю", "я");


$novizraz = str_replace($staro, $novo, $izraz);
/////////
$staro2 = array("тз1", "сх1", "иу1", "схт1");
$novo2 = array("ц", "ш", "ю", "щ");


$novizraz2 = str_replace($staro2, $novo2, $novizraz);
////////
$dyljina = strlen($novizraz);
?>
  <ul>
    </strong></li>
    <li><u><em>|Lat->Cyr |ver <?php
echo "$version";
?></em></u><br>
      <br>
    </li>
  </ul>
<table width="521" border="0" cellspacing="0" cellpadding="0">
<tr>
	<td width="100"><form method="post" action="lat-cyrlite.php">
<textarea name="text" rows="20" cols="50"><?php
echo "$novizraz2";
?></textarea>
<br>
<input type="submit" value="Lar->Cyr">

</form></td>
	<td width="100%" align="left" valign="top"><p><strong><u>Легенда:<br>
	  <br>
	</u></strong><br>
	    <strong>sh1</strong> = <strong>ш</strong><br>
	    <strong>sht1</strong> = <strong>щ</strong><br>
	    <strong>tz1</strong> = <strong>ц</strong><br>
      <strong>ui1</strong> = <strong>ю</strong> <br>
      <br>
      <br>
	</p>	  
	  </td>
</tr>
</table><.\/.>Надолу е кирилизирания текст<.\/.> <?php
	if ( $dyljina == 1){
$sinvolite = "символ";
	} 	if ( $dyljina > 1 or $dyljina <1 ){
$sinvolite = "символа";
	}
echo "Дължината му е $dyljina $sinvolite";
?>
<hr align="left" width="450" size="5">

<?php

echo $novizraz2;

?>
<br>
<br>
<br>
</body>
</html>

DEMO: http://projects.soul-design.org/lat-cyrlite.php

Ето мойта версия: http://projects.soul-design.org/lat-cyr.php
 
Една малка идея и 1 въпрос:
1)Защо не го поправиш на оригиналната клавиатура, тоест "W"=В a ne "V"=В ?
2)Какъф е тоя символ след "shl" ?
Иначе похвално че си си поиграл :)
 
Еми, тоя скрипт го правих за един фр. който беше у нас и тои ми казваше кой символ как да е на БГ... така му било по удобно :shock: :shock:
 
Незнам аз ти казвам по принцип хората като мен и доста други знам който си използват оригиналните символи на клавиатурата, от страна на БГ есте, но ако на теб и твоя приятел ви е по удобно така може да драснеш една легенда или да ти нарисувам една клавиатура с БГ символите като легенда 8)
 
Относно KREDOR .
http://kredor.com/bg/wkinstr.shtml

За да го вкараш в phpBB forum:

Отиваш в папката където си инсталнал форума.
Отваряш папката /templates/твоя темплейт/
и намираш файла posting_body.tpl
Отваряш го с текстов редактор и намираш следните редове:
Код:
<table width="100%" cellspacing="2" cellpadding="2" border="0" align="center">
	<tr> 
		<td align="left"><span  class="nav"><a href="{U_INDEX}" class="nav">{L_INDEX}</a>
		 
		-> <a href="{U_VIEW_FORUM}" class="nav">{FORUM_NAME}</a></span></td>
		
	</tr>
</table>

Под тях слагаш следния код:

Код:
<span id=kbs name=kbs style='position:relative;visibility:hidden'><input type=button title= ></span>
<span style='position:relative;visibility:hidden' id=kbsLabel name=kbsLabel></span>
<a href=http://kredor.com?kbbg target=_blank><img src=http://wk.kredor.com/KREDORbanner2.gif border=0></a>

ЩЕ трябва да добавиш още еди ред код на края на документа.

След последния ред на файла posting_body.tpl
добавяш следния код:

Код:
<script src=http://wk.kredor.com/k.php?l=bg defer></script>

Готово.
 
Междо дтугото. Защо си сложил туи лявото букче? Не виждам смисъл от него като има дясно кубче и превода пак илиза там? :)
 
браво мн яко :?:
 
Добре е но аз не бих използвал този начин
бих използвал
Код:
<?
    function translate($text)
    {
        $english = array('A', 'B');
        $bulgarian = array('А', 'Б');
 
        $text = str_replace($english, $bulgarian, $text);
 
        return $text;
    }
 
?>
не че имам нещо против Array но нещо му нямам доверие на тази функция
 
Soul_Stealler каза:
Ето как да си направим скрипт, който да прави буквите от латиница на кирилица :) . Днеска ми трябваше и си поиграх малко да попиша код :lol:

str_replace e чуствителна към регистъра на буквите. Трябва да въведеш и главните букви в масивите :wink:
 
Само 1 въпрос след кат стартирам скрипт-а ми дава грешка на ред номер 14ти демек там кадето си дефинирал $izraz , защо при мен го дава а като го отворя в твоя сите не го дава ...

не , че ерора пречи на работата със скрипт-а но просто мразя ерори , а и защо да ги има след като може и без тях :) аре моля ти се помогни :)
ето и линк за проблема - модифицирал сам само копчетата смисал направих я по BDS + 2 промени ...

http://213.240.243.192/Problems/lat-cyrlite.php
 
нормално..
като се отвори страницата $_POST['text']
не е дефинирана..
преди пхп кода сложи това:
if(!isset($_POST['text'])){
..php code...
}
и тука другата част..
ако не ти се занимава просто сложи някъде след <?
това:
error_reporting(0);
и би трябвало да не го изписва вече.
 
мерси ще сложа ерор репорт-а да е 0 няма какво да му барам на скрипт-а повече :)

Обаче мисля , че разбрах каде е проблема ...
Като гледам скрипт-а в моя сите ми го дава , обаче кат го кача в хофа и не ми дава тоя еррор :)

Edited:


Чак сега забелязах , че не ми работеха някой от знаците ... Оправих ги обаче немога да оправя "Ю"-то да превежда "" като Ю...

Ето нещата които сам преоменял на скрипт-а :

script lat>cyr каза:
$staro = array("a", "b", "w", "g", "d", "e", "v", "z", "i", "j", "k", "l", "m", "n", "o", "p", "r", "s", "t", "u", "f", "h", "c", "4", "6", "6t1", "y", "x", "\1", "q");

$novo = array("а", "б", "в", "г", "д", "е", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щт1", "ъ", "ь", "ю1", "я");


$novizraz = str_replace($staro, $novo, $izraz);
/////////
$staro2 = array("c", "ш", "ю1", "шт");
$novo2 = array("ц", "ш", "ю", "щ");


Мисля , че не е възможно с \ :( но не би трябвало ...
 

Back
Горе