Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

23.03.2009, 19:21
|
|
Banned
Регистрация: 15.03.2009
Сообщений: 215
Провел на форуме: 1461068
Репутация:
221
|
|
Сделать транслит
нашел скрипт транслит но незнаю
как сделать чтоб переводил помогите спс
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=0; xy<=(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()">
|
|
|

23.03.2009, 20:12
|
|
Banned
Регистрация: 15.03.2009
Сообщений: 215
Провел на форуме: 1461068
Репутация:
221
|
|
да и как сделать из вот это
<a href="javascript:t.go(0)" title="Перевести в кириллицу">Кириллица</a>
кнопку?
|
|
|

23.03.2009, 20:21
|
|
Познавший АНТИЧАТ
Регистрация: 07.01.2007
Сообщений: 1,263
Провел на форуме: 3326855
Репутация:
702
|
|
<input type=button onclick=t.go(0) value="Йа кнопка">
|
|
|

23.03.2009, 22:18
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
Код:
<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>
|
|
|

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

27.03.2009, 22:28
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
использовал конвертер в транслит, немного улучшил:
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..
|
|
|
Конвертер транслита на яваскрипт |

27.03.2009, 22:39
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
Конвертер транслита на яваскрипт
ваще вот лучший пример:
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 character, isRus;
for(var i = 0; i < len; i++)
{
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='← to translite' />
Файл должен быть в ansi (windows-1251) кодировке.
|
|
|

27.03.2009, 23:30
|
|
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме: 3069349
Репутация:
808
|
|
- charAt принимает один параметр
- Метод Array.prototype.indexOf не является стандартным и его нет как минимум в ie
- hint:
Код:
{
'а': 'a',
'б': 'b',
'в': 'v'
/* etc */
}
|
|
|

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

28.03.2009, 10:18
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
чет я не понимаю..
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 i = 0; i < 61; i++)
{
var character = from.charAt(i);
foundIndex = charsArray.indexOf(character);
to += (foundIndex != -1)? charsArray[character] : character;
}
field.value = to;
}
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|