![]() |
транслитерация
можно ли на as3 написать ф-цию транслитерации кирилицы в латиницу?
|
Можно.
|
Конечно.
Я бы сделал как-то так: 1) Определил в Dictionary соответствия кириллице литиницы 2) Пробегался бы по символам и менял бы их в соответствии с Dictionary ПС: урааа... я дошкольник! |
а намекните, каким образом. На php это можно сделать с помощью strstr(), а здесь какой метод String нужно использовать?
|
а что надо? Заменить символ? Лучше новую строку наверное формировать.
Цитата:
|
Цитата:
|
ясно, ну я уже сказал
|
Цитата:
|
Так можно определить ваш словарь.
Код AS3:
|
Есть еще регулярные выражения.
|
@kacbip
Зачем тут Dictionary? Тут обычного Object вполне себе хватит. Код AS3:
|
Цитата:
|
gloomyBrain, да, пожалуй.
|
kackbip: А зачем для этого Dictionary?
Если чесно, я не совсем представляю, как вы будете решать это с помощью регулярных выражений. Еще такой момент: перевод из кириллицы в латиницу не 100% совпадает туда и обратно (т.как количество элементов в алфавитах разное). И вообще, как по мне, то идея граничит с абсурдом... А что будете делать, если файлы будут по-китайски называться? Есть стандартное решение: escape() или encodeURIComponent() - почитайте про них, выберите то, что больше подходит, и, так, по крайней мере можно однозначно перевести из большего алфавита в меньший и обратно, без потерь по дороге. |
Цитата:
|
Нашел какой-то жаваскрипт и перевел во флеш.
Код AS3:
|
И как вы за один проход замените регулярным выражением 32 разных элемента набором из 25-и разных элементов? Я не говорю, что это невозможно, но это крайне непродуктивно. Кроме того, а как вы будете заменять твердый знак, например?
Но самый главный вопрос это зачем именно транслитерация, когда для задачи она 1. не работает для всего возможного ввода. 2. иногда работает неправильно в оба конца (YO -> Ё | Yo -> Ё, Ё -> YO). 3. даже когда работает правильно, иногда создает строки которые все равно прийдется еще раз перекодировать, если их нужно использовать как имена файлов / пересылать как URI компонент (твердый знак по ГОСТу - #). |
А никто и не говорил, что код работает в обе стороны. Выдан вообще как пример, причем написанный явно давно и непонятно кем.
|
да уж, наверное, лучше вообще грузить на сервер файлы, не сохраняя исходные названия. Присваивать, например, сразу им какие-то цифровые уникальные имена (например отметку времени в млсек) и так уже потом аплодить, а исходные имена можно (если они потом могут понадобиться) отдельно в виде текстового поля в базу прописывать или в соответствующий узел xml
|
Сорри за оффтоп, вот мне как раз понадобилось по быстрому оттранслитить, воспользовался вариантом gloomyBrain, как самым прекрасным)) может кому пригодится работающая версия:
Код AS3:
Код AS3:
|
спасибо
|
| Часовой пояс GMT +4, время: 11:43. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.