|
|
|
| Вообщем надо сделать функцию перекодировки...
Но я не знаю как в джаваскрипте сделать такой массив...
function utfencoderus(str)
{
u2koi = array
(
"%u0430" => "а", "%u0410" => "А",
"%u0431" => "б", "%u0411" => "Б",
"%u0432" => "в", "%u0412" => "В",
"%u0433" => "г", "%u0413" => "Г",
"%u0434" => "д", "%u0414" => "Д",
"%u0435" => "е", "%u0415" => "Е",
"%u0451" => "ё", "%u0401" => "Ё",
"%u0436" => "ж", "%u0416" => "Ж",
"%u0437" => "з", "%u0417" => "З",
"%u0438" => "и", "%u0418" => "И",
"%u0439" => "й", "%u0419" => "Й",
"%u043A" => "к", "%u041A" => "К",
"%u043B" => "л", "%u041B" => "Л",
"%u043C" => "м", "%u041C" => "М",
"%u043D" => "н", "%u041D" => "Н",
"%u043E" => "о", "%u041E" => "О",
"%u043F" => "п", "%u041F" => "П",
"%u0440" => "р", "%u0420" => "Р",
"%u0441" => "с", "%u0421" => "С",
"%u0442" => "т", "%u0422" => "Т",
"%u0443" => "у", "%u0423" => "У",
"%u0444" => "ф", "%u0424" => "Ф",
"%u0445" => "х", "%u0425" => "Х",
"%u0446" => "ц", "%u0426" => "Ц",
"%u0447" => "ч", "%u0427" => "Ч",
"%u0448" => "ш", "%u0428" => "Ш",
"%u0449" => "щ", "%u0429" => "Щ",
"%u044A" => "ъ", "%u042A" => "Ъ",
"%u044B" => "ы", "%u042B" => "Ы",
"%u044C" => "ь", "%u042C" => "Ь",
"%u044D" => "э", "%u042D" => "Э",
"%u044E" => "ю", "%u042E" => "Ю",
"%u044F" => "я", "%u042F" => "Я"
);
str=strtr(str,u2koi);
return str;
}
|
Вообщем вот..
Будет ли работать эта функция?Знаю что с массивом что-то не то...массив напсиан по пхп классу) | |
|
|
|
|
|
|
|
для: SnooPI
(08.07.2007 в 05:34)
| |
<script>
function utfencoderus (str)
{
var u2koi =
{
"%u0430" : "а", "%u0410" : "А",
"%u0431" : "б", "%u0411" : "Б",
...
"%u044F" : "я", "%u042F" : "Я"
}
return u2koi [str];
}
</script>
|
Только и для PHP, и для JScript 'а эта конструкция неудачна.
Зачем всякий раз при обращении к функции переопределять массив u2koi?
Эффективнее будет один раз определить глобальный массив u2koi и просто обращаться к значениям его элементов по ключам. | |
|
|
|
|
|
|
|
для: CNT
(08.07.2007 в 10:41)
| | вот моя функция но она для транслита
вам подойдет
http://phx.freedomf.net/chat/jscripts/translate.js | |
|
|
|
|
|
|
|
для: bronenos
(08.07.2007 в 12:19)
| | Я не знаю)
Как использовать эту функцию
<script type="text/javascript">
function cod(str)
{
var u2koi =
{
"%u0430" : "а", "%u0410": "А",
"%u0431": "б", "%u0411": "Б",
"%u0432": "в", "%u0412": "В",
"%u0433": "г", "%u0413": "Г",
"%u0434": "д", "%u0414": "Д",
"%u0435": "е", "%u0415": "Е",
"%u0451": "ё", "%u0401": "Ё",
"%u0436": "ж", "%u0416": "Ж",
"%u0437": "з", "%u0417": "З",
"%u0438": "и", "%u0418": "И",
"%u0439": "й", "%u0419": "Й",
"%u043A": "к", "%u041A": "К",
"%u043B": "л", "%u041B": "Л",
"%u043C": "м", "%u041C": "М",
"%u043D": "н", "%u041D": "Н",
"%u043E": "о", "%u041E": "О",
"%u043F": "п", "%u041F": "П",
"%u0440": "р", "%u0420": "Р",
"%u0441": "с", "%u0421": "С",
"%u0442": "т", "%u0422": "Т",
"%u0443": "у", "%u0423": "У",
"%u0444": "ф", "%u0424": "Ф",
"%u0445": "х", "%u0425": "Х",
"%u0446": "ц", "%u0426": "Ц",
"%u0447": "ч", "%u0427": "Ч",
"%u0448": "ш", "%u0428": "Ш",
"%u0449": "щ", "%u0429": "Щ",
"%u044A": "ъ", "%u042A": "Ъ",
"%u044B": "ы", "%u042B": "Ы",
"%u044C": "ь", "%u042C": "Ь",
"%u044D": "э", "%u042D": "Э",
"%u044E": "ю", "%u042E": "Ю",
"%u044F": "я", "%u042F": "Я"
}
return u2koi [str];
}
</script>
cod(%u042F%u042F%u042F);
|
| |
|
|
|
|
|
|
|
для: SnooPI
(08.07.2007 в 13:57)
| |
var a = "%u042F%u042F%u042F".split ('%u');
for (var b = '', j = 1; j < a.length; j++) b += cod ('%u' + a [j]);
alert (b);
|
| |
|
|
|
|
|
|
|
для: CNT
(08.07.2007 в 14:11)
| | я очень сомневаюсь что это будет работать так как надо...
сообщите о результатах | |
|
|
|
|
|
|
|
для: bronenos
(08.07.2007 в 15:37)
| | Что-то вы наумдрили..
Функция ведь готова...Я всего-лишь попросил как её вывести...
<script type="text/javascript">
function cod(str)
{
var u2koi =
{
"%u0430" : "а", "%u0410": "А",
"%u0431": "б", "%u0411": "Б",
"%u0432": "в", "%u0412": "В",
"%u0433": "г", "%u0413": "Г",
"%u0434": "д", "%u0414": "Д",
"%u0435": "е", "%u0415": "Е",
"%u0451": "ё", "%u0401": "Ё",
"%u0436": "ж", "%u0416": "Ж",
"%u0437": "з", "%u0417": "З",
"%u0438": "и", "%u0418": "И",
"%u0439": "й", "%u0419": "Й",
"%u043A": "к", "%u041A": "К",
"%u043B": "л", "%u041B": "Л",
"%u043C": "м", "%u041C": "М",
"%u043D": "н", "%u041D": "Н",
"%u043E": "о", "%u041E": "О",
"%u043F": "п", "%u041F": "П",
"%u0440": "р", "%u0420": "Р",
"%u0441": "с", "%u0421": "С",
"%u0442": "т", "%u0422": "Т",
"%u0443": "у", "%u0423": "У",
"%u0444": "ф", "%u0424": "Ф",
"%u0445": "х", "%u0425": "Х",
"%u0446": "ц", "%u0426": "Ц",
"%u0447": "ч", "%u0427": "Ч",
"%u0448": "ш", "%u0428": "Ш",
"%u0449": "щ", "%u0429": "Щ",
"%u044A": "ъ", "%u042A": "Ъ",
"%u044B": "ы", "%u042B": "Ы",
"%u044C": "ь", "%u042C": "Ь",
"%u044D": "э", "%u042D": "Э",
"%u044E": "ю", "%u042E": "Ю",
"%u044F": "я", "%u042F": "Я"
}
return u2koi [str];
</script>
<script>
var a = "%u042F%u042F%u042F".split ('%u');
for (var b = '', j = 1; j < a.length; j++) b += cod ('%u' + a [j]);
alert (b);
}
</script>
|
не рабоатет | |
|
|
|
|
|
|
|
для: SnooPI
(08.07.2007 в 17:26)
| |
<head>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title></title>
<script type="text/javascript">
function cod(str)
{
var u2koi =
{
"%u0430" : "а", "%u0410": "А",
"%u0431": "б", "%u0411": "Б",
"%u0432": "в", "%u0412": "В",
"%u0433": "г", "%u0413": "Г",
"%u0434": "д", "%u0414": "Д",
"%u0435": "е", "%u0415": "Е",
"%u0451": "ё", "%u0401": "Ё",
"%u0436": "ж", "%u0416": "Ж",
"%u0437": "з", "%u0417": "З",
"%u0438": "и", "%u0418": "И",
"%u0439": "й", "%u0419": "Й",
"%u043A": "к", "%u041A": "К",
"%u043B": "л", "%u041B": "Л",
"%u043C": "м", "%u041C": "М",
"%u043D": "н", "%u041D": "Н",
"%u043E": "о", "%u041E": "О",
"%u043F": "п", "%u041F": "П",
"%u0440": "р", "%u0420": "Р",
"%u0441": "с", "%u0421": "С",
"%u0442": "т", "%u0422": "Т",
"%u0443": "у", "%u0423": "У",
"%u0444": "ф", "%u0424": "Ф",
"%u0445": "х", "%u0425": "Х",
"%u0446": "ц", "%u0426": "Ц",
"%u0447": "ч", "%u0427": "Ч",
"%u0448": "ш", "%u0428": "Ш",
"%u0449": "щ", "%u0429": "Щ",
"%u044A": "ъ", "%u042A": "Ъ",
"%u044B": "ы", "%u042B": "Ы",
"%u044C": "ь", "%u042C": "Ь",
"%u044D": "э", "%u042D": "Э",
"%u044E": "ю", "%u042E": "Ю",
"%u044F": "я", "%u042F": "Я"
}
return u2koi [str];
}
</script>
</head>
<body>
<input type="submit" id='lol' value='gg'/>
<div id='lol'></div>
<script>var a = "%u042F%u042F%u041F".split ('%u');
for (var b = '', j = 1; j < a.length; j++) b += cod ('%u' + a [j]);
document.getElementById("lol").value = b;</script>
</body>
</html>
|
Вот так вот работает.....
Но мне надо чтобы это все делалось функцией......
Чтобы через функцию cod(); менялось это все..... | |
|
|
|
|
|
|
|
для: SnooPI
(08.07.2007 в 17:58)
| |
function cod (str)
{
var u2koi = {
"%u0430" : "а", "%u0410": "А",
"%u0431": "б", "%u0411": "Б",
"%u0432": "в", "%u0412": "В",
"%u0433": "г", "%u0413": "Г",
"%u0434": "д", "%u0414": "Д",
"%u0435": "е", "%u0415": "Е",
"%u0451": "ё", "%u0401": "Ё",
"%u0436": "ж", "%u0416": "Ж",
"%u0437": "з", "%u0417": "З",
"%u0438": "и", "%u0418": "И",
"%u0439": "й", "%u0419": "Й",
"%u043A": "к", "%u041A": "К",
"%u043B": "л", "%u041B": "Л",
"%u043C": "м", "%u041C": "М",
"%u043D": "н", "%u041D": "Н",
"%u043E": "о", "%u041E": "О",
"%u043F": "п", "%u041F": "П",
"%u0440": "р", "%u0420": "Р",
"%u0441": "с", "%u0421": "С",
"%u0442": "т", "%u0422": "Т",
"%u0443": "у", "%u0423": "У",
"%u0444": "ф", "%u0424": "Ф",
"%u0445": "х", "%u0425": "Х",
"%u0446": "ц", "%u0426": "Ц",
"%u0447": "ч", "%u0427": "Ч",
"%u0448": "ш", "%u0428": "Ш",
"%u0449": "щ", "%u0429": "Щ",
"%u044A": "ъ", "%u042A": "Ъ",
"%u044B": "ы", "%u042B": "Ы",
"%u044C": "ь", "%u042C": "Ь",
"%u044D": "э", "%u042D": "Э",
"%u044E": "ю", "%u042E": "Ю",
"%u044F": "я", "%u042F": "Я"
}
for (var k in u2koi) eval ("str = str.replace (/" + k + "/g, '" + u2koi[k] + "');");
return str;
}
|
| |
|
|
|
|
|
|
|
для: bronenos
(08.07.2007 в 20:12)
| | Спасибо | |
|
|
|
|
|
|
|
для: bronenos
(08.07.2007 в 20:12)
| | А eval зачем?
Чтобы медленнее работало? :-) | |
|
|
|
|
|
|
|
для: CNT
(09.07.2007 в 07:11)
| | чтоб ему не пришлось менять каждый ключ массива под вид регулярного выражения | |
|
|
|
|
|
|
|
для: bronenos
(09.07.2007 в 07:35)
| |
for (var k in u2koi) str = str.replace (new RegExp (k, "g"), u2koi [k]);
|
| |
|
|
|
|
|
|
|
для: CNT
(09.07.2007 в 07:40)
| | позабыл уже такой способ... | |
|
|
|
|