function toTranslit( text ) { return text.replace( /([а-яё])/gi, function( all, char ) { var code = char.charCodeAt(0), index = code == 1025 || code == 1105 ? 0 : code > 1071 ? code - 1071 : code - 1039, t = ['yo','a','b','v','g','d','e','zh','z','i','y','k','l','m','n','o','p', 'r','s','t','u','f','h','c','ch','sh','shch','','y','','e','yu','ya']; return char.toUpperCase() === char ? t[ index ].toUpperCase() : t[ index ]; }); } alert( toTranslit( "абвгдеёжзийклмнопрстуфхцчшщъыьэюя АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ" ) ); alert( toTranslit( "Доброго времени суток, столкнулся с определенной задачей решение которой не смог придумать сам" ) ); |
devote,
Тут по ходу самая сложность не в кирилице - а декодировке get запроса |
Цитата:
|
я вопроса совсем не понял если честно.. он хочет менять ссылку в адресной строке чтоль? или что?
|
<script type="text/javascript"> function ChangLat (str){ var A = " абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"; var B = "_'a'b'v'g'd'e'yo'zh'z'i'y'k'l'm'n'o'p'r's't'u'f'h'c'ch'sh'shch''y''e'yu'\ ya'A'B'V'G'D'E'YO'ZH'Z'I'Y'K'L'M'N'O'P'R'S'T'U'F'H'C'CH'SH'SHCH''Y''E'YU'YA"; A = A.split(''); B = B.split("'"); str=str.split(''); Lng = str.length; for(i=0; i < Lng; i++){ for(j=0; j < A.length; j++){ if(str[i]==A[j]){str[i]=B[j];break;} } } return str.join(''); } function ChangeRus(a) { a.value = ChangLat(a.value); } </script> Привет! volky; <br /> <input id="hash-parametr-str" name="hash" type="text" size="40" onmouseout="ChangeRus(this)" onmouseover="ChangeRus(this)" onchange="ChangeRus(this)"> Совместимо с ие 6-7 (Cделал часа два назад - застрял с URL Ксать - запятая еще не в кассу |
Deff,
Спасибо за проделанную работу, а вы можете объяснить как этот скрипт прикрутить к странице, чтобы он урл заменял... А то тут инпуты алерты... А мне по сути надо чтобы он выхватил урл, пробежался по нему и если бы встречал русский символ заменял его на латинский... По сути организация новой ссылки работает так <a href="{url params=[$f->id=>$o->value, page=>null]}" title="{$o->value|escape}">{$o->value|escape}</a> если я прямо тут применю замену ссылки, то меня скорее всего кинет на 404 страницу( если я все правильно понимаю) И в принципе как можно применить функцию написанную вами выше к такой строке? Я пробовал <a href="{url ChangLat(params=[$f->id=>$o->value, page=>null])}" title="{$o->value|escape}">{$o->value|escape}</a> |
Elve,
10 типовых ссылок приведите, (*поскольку то что Вы привели, - отнюдь не русский, а encodeURI |
Я уже приводил ссылки в начале темы, или их недостаточно? Почему я говорю о кирилице - потому, что в адресе в браузере я вижу русский, нокогда копирую оттуда получаю encodeURI
|
Цитата:
|
В лисе, в хроме русский, в опере сразу в encodeURI
|
Часовой пояс GMT +3, время: 14:55. |