ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Сделать транслит
  #1  
Старый 23.03.2009, 19:21
Myload
Banned
Регистрация: 15.03.2009
Сообщений: 215
Провел на форуме:
1461068

Репутация: 221
Отправить сообщение для Myload с помощью ICQ
Arrow Сделать транслит

нашел скрипт транслит но незнаю
как сделать чтоб переводил помогите спс

PHP код:
<script type="text/javascript">  
  var 
latin=("a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-z-;-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z").split("-")  
  var 
ciril=("а-б-ц-д-е-ф-г-х-и-й-к-л-м-н-о-п-э-р-с-т-у-в-ш-ы-ч-з-я-А-Б-Ц-Д-Е-Ф-Г-Х-И-Й-К-Л-М-Н-О-П-Э-Р-С-Т-У-В-Ш-Ы-Ч-З").split("-")  
  
//(c) subONE [razgona.net]  
  
function translit() {  
  var 
omg=document.selection.createRange()  
  var 
omg1=omg.text  
  
var xy=0  
  
for(xy=0xy<=(latin.length-1); xy++) {  
  var 
latin1="/"+latin[xy]+"/g"  
  
omg1=omg1.replace(eval(latin1), ciril[xy])  
  }  
  
omg.text=omg1  
  
}  
  </
script

<
textarea name="Message" id="Message" cols="30" rows="5" class="text"></textarea><br>

<
input type="button" value="Транслит" onclick="translit()"
 
Ответить с цитированием

  #2  
Старый 23.03.2009, 20:12
Myload
Banned
Регистрация: 15.03.2009
Сообщений: 215
Провел на форуме:
1461068

Репутация: 221
Отправить сообщение для Myload с помощью ICQ
По умолчанию

да и как сделать из вот это

<a href="javascript:t.go(0)" title="Перевести в кириллицу">Кириллица</a>

кнопку?
 
Ответить с цитированием

  #3  
Старый 23.03.2009, 20:21
inlanger
Познавший АНТИЧАТ
Регистрация: 07.01.2007
Сообщений: 1,263
Провел на форуме:
3326855

Репутация: 702


По умолчанию

<input type=button onclick=t.go(0) value="Йа кнопка">
 
Ответить с цитированием

  #4  
Старый 23.03.2009, 22:18
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию

Код:
<script>
var rusChars = new Array('а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ч','ц','ш','щ','э','ю','\я','ы','ъ','ь', ' ', '\'', '\"', '\#', '\$', '\%', '\&', '\*', '\,', '\:', '\;', '\<', '\>', '\?', '\[', '\]', '\^', '\{', '\}', '\|', '\!', '\@', '\(', '\)', '\-', '\=', '\+', '\/', '\\');
var transChars = new Array('a','b','v','g','d','e','jo','zh','z','i','j','k','l','m','n','o','p','r','s','t','u','f','h','ch','c','sh','csh','e','ju','ja','y','', '', ' ', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '');
var from = "";

function convert2EN()
  {
  from = document.getElementById("Message").value;
  from = from.toLowerCase();
  var to = "";
  var len = from.length;
  var character, isRus;
  for(var i=0; i < len; i++)
    {
    character = from.charAt(i,1);
    isRus = false;
    for(var j=0; j < rusChars.length; j++)
      {
      if(character == rusChars[j])
        {
        isRus = true;
        break;
        }
      }
    to += (isRus) ? transChars[j] : character;
    }
   document.form1.Message.value = to; 
  }
</script>

<FORM NAME="form1">
<textarea name="Message" id="Message" cols="30" rows="5" class="text"></textarea><br> 
<input type="button" value="Транслит" onclick="convert2EN()">
</FORM>
 
Ответить с цитированием

  #5  
Старый 26.03.2009, 18:09
Myload
Banned
Регистрация: 15.03.2009
Сообщений: 215
Провел на форуме:
1461068

Репутация: 221
Отправить сообщение для Myload с помощью ICQ
По умолчанию

спс
 
Ответить с цитированием

  #6  
Старый 27.03.2009, 22:28
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию

использовал конвертер в транслит, немного улучшил:
Цитата:

function translit() {

field = document.getElementById('Message');
from = field.value.toLowerCase();

to = '';
len = from.length;
rlen = rusChars.length;
var character, isRus;

for(var i = 0; i < len; i++)
{
var character = from.charAt(i,1);
foundIndex = rusChars.indexOf(character);
to += (foundIndex != -1) ? transChars[foundIndex] : character;
}

field.value = to;
}
в частности там нет необходимости перебирать весь массив с русскими символами, чтобы узнать русский у нас символ или нет. достаточно использовать indexOf

Последний раз редактировалось Дикс; 27.03.2009 в 22:31..
 
Ответить с цитированием

Конвертер транслита на яваскрипт
  #7  
Старый 27.03.2009, 22:39
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию Конвертер транслита на яваскрипт

ваще вот лучший пример:

PHP код:

<script type='text/javascript'>

function 
translit(id) {

    var 
field document.getElementById(id);
    var 
from field.value.toLowerCase();

    var 
rusChars = new Array('а','б','в','г','д','е','ё','ж','з','и','й',  'к','л','м','н','о','п','р','с','т','у','ф','х','ч  ','ц','ш','щ','э','ю','\я','ы','ъ','ь'' ''\'''\"''\#''\$''\%''\&''\*''\,''\:''\;''\<''\>''\?''\[''\]''\^''\{''\}''\|''\!''\@''\(''\)''\-''\=''\+''\/''\\');
    var 
transChars = new Array('a','b','v','g','d','e','jo','zh','z','i','j  ','k','l','m','n','o','p','r','s','t','u','f','h',  'ch','c','sh','csh','e','ju','ja','y','_''_''_''_''_''_''_''_''_''''''''''''''''''''''''''''''''''''_''_''_''_''_');

    var 
to '';
    var 
len from.length;
    var 
rlen rusChars.length;
    var 
characterisRus;

    for(var 
0leni++)
    {
        var 
character from.charAt(i,1);
        var 
foundIndex rusChars.indexOf(character);
        
to += (foundIndex != -1) ? transChars[foundIndex] : character;
    }

    
field.value to;
}

</
script>
<
input type='text' id='message' /><input type='button' onclick='translit("message")' value='&larr; to translite' /> 

Файл должен быть в ansi (windows-1251) кодировке.
 
Ответить с цитированием

  #8  
Старый 27.03.2009, 23:30
astrologer
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме:
3069349

Репутация: 808


По умолчанию

  1. charAt принимает один параметр
  2. Метод Array.prototype.indexOf не является стандартным и его нет как минимум в ie
  3. hint:
    Код:
    {
      'а': 'a',
      'б': 'b',
      'в': 'v'
      /* etc */
    }
 
Ответить с цитированием

  #9  
Старый 28.03.2009, 09:52
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию

спасибо
 
Ответить с цитированием

  #10  
Старый 28.03.2009, 10:18
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию

чет я не понимаю..
charsArray - это объект.
как получить его длину?
и как проверить наличие в нём текущей буквы? (в смысле есть ли способ, типа indexOf)?

PHP код:
function translit() {

    var 
charsArray = {
        
'а':'a',
        
'б':'b',
        
'в':'v',
        
'г':'g',
        
'д':'d',
        
'е':'e',
        
'ё':'jo',
        
'ж':'zh',
        
'з':'z',
        
'и':'i',
        
'й':'j',
        
'к':'k',
        
'л':'l',
        
'м':'m',
        
'н':'n',
        
'о':'o',
        
'п':'p',
        
'р':'r',
        
'с':'s',
        
'т':'t',
        
'у':'u',
        
'ф':'f',
        
'х':'h',
        
'ч':'ch',
        
'ц':'c',
        
'ш':'sh',
        
'щ':'csh',
        
'э':'e',
        
'ю':'ju',
        
'\я':'ja',
        
'ы':'y',
        
'ъ':'',
        
'ь':'\'',
        
' ':'_',
        
'\'':'',
        
'\"':'',
        
'\#':'',
        
'\$':'',
        
'\%':'',
        
'\&':'',
        
'\*':'',
        
'\,':'',
        
'\:':'',
        
'\;':'',
        
'\<':'',
        
'\>':'',
        
'\?':'',
        
'\[':'',
        
'\]':'',
        
'\^':'',
        
'\{':'',
        
'\}':'',
        
'\|':'',
        
'\!':'',
        
'\@':'',
        
'\(':'',
        
'\)':'',
        
'\-':'_',
        
'\=':'',
        
'\+':'',
        
'\/':'',
        
'\\':''
    
};
    var 
field document.getElementById('message');
    var 
from field.value.toLowerCase();

    var 
to '';
    var 
character;

    for(var 
061i++)
    {
        var 
character from.charAt(i);
        
foundIndex charsArray.indexOf(character);
        
to += (foundIndex != -1)? charsArray[character] : character;
    }

    
field.value to;

 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Школьник меня хотел сделать гарантом :-) dinar_007 Болталка 50 18.01.2009 19:07
Есть шелл на винде. Что можно сделать? bandera Windows 5 05.07.2006 17:23
Что можно сделать в форуме Ipb 2.0.3. Имея пароль администратора? MDD Форумы 5 09.06.2005 11:59
Как сделать сниффер??? Помогите!!! GooF PHP, PERL, MySQL, JavaScript 13 25.05.2005 05:18



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ