Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 27.07.2012, 23:18
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

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( "Доброго времени суток, столкнулся с определенной задачей решение которой не смог придумать сам" ) );
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #12 (permalink)  
Старый 27.07.2012, 23:21
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

devote,
Тут по ходу самая сложность не в кирилице - а декодировке get запроса
Ответить с цитированием
  #13 (permalink)  
Старый 27.07.2012, 23:23
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от Deff
Тут по ходу самая сложность не в кирилице - а декодировке get запроса
ну дык unescape/decodeURIComponent и т.д. Не?
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #14 (permalink)  
Старый 27.07.2012, 23:24
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

я вопроса совсем не понял если честно.. он хочет менять ссылку в адресной строке чтоль? или что?
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #15 (permalink)  
Старый 27.07.2012, 23:31
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<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, 17.01.2013 в 15:27.
Ответить с цитированием
  #16 (permalink)  
Старый 28.07.2012, 13:56
Интересующийся
Отправить личное сообщение для Elve Посмотреть профиль Найти все сообщения от Elve
 
Регистрация: 11.06.2012
Сообщений: 25

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, 28.07.2012 в 14:12.
Ответить с цитированием
  #17 (permalink)  
Старый 28.07.2012, 14:15
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Elve,
10 типовых ссылок приведите, (*поскольку то что Вы привели, - отнюдь не русский, а encodeURI
Ответить с цитированием
  #18 (permalink)  
Старый 28.07.2012, 15:15
Интересующийся
Отправить личное сообщение для Elve Посмотреть профиль Найти все сообщения от Elve
 
Регистрация: 11.06.2012
Сообщений: 25

Я уже приводил ссылки в начале темы, или их недостаточно? Почему я говорю о кирилице - потому, что в адресе в браузере я вижу русский, нокогда копирую оттуда получаю encodeURI
Ответить с цитированием
  #19 (permalink)  
Старый 28.07.2012, 15:47
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от Elve
Я уже приводил ссылки в начале темы, или их недостаточно? Почему я говорю о кирилице - потому, что в адресе в браузере я вижу русский, нокогда копирую оттуда получаю encodeURI
В каком браузере ? - войдите с Opera
Ответить с цитированием
  #20 (permalink)  
Старый 28.07.2012, 18:55
Интересующийся
Отправить личное сообщение для Elve Посмотреть профиль Найти все сообщения от Elve
 
Регистрация: 11.06.2012
Сообщений: 25

В лисе, в хроме русский, в опере сразу в encodeURI
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Замена URL сайта uxce Общие вопросы Javascript 1 17.11.2011 20:34
Водяной знак на fancybox bobrina Общие вопросы Javascript 1 03.06.2011 21:11
Замена текста в атрибуте HTML тега, например часть url vasa666 Общие вопросы Javascript 6 24.02.2011 10:18