Тема: Транслит
Показать сообщение отдельно
Старый 28.05.2008, 11:38   #12  
Antoncheg is offline
Antoncheg
Участник
 
41 / 11 (1) +
Регистрация: 29.02.2008
Цитата:
Сообщение от Lucky13 Посмотреть сообщение
X++:
static str translit(str value, boolean letteronly = false)
{
    container rus = ['а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я'];
    container lat = ['a','b','v','g','d','e','jo','zh','z','i','j','k','l','m','n','o','p','r','s','t','u','f','h','c','ch','sh','sch','','y','','e','ju','ja'];
    int i, n;
    str letter;
    str ret;
    ;
    for (i = 1;i<=strlen(value);i++)
    {
        letter = strlwr(substr(value,i,1));
        n =  confind(rus,letter);
        ret += n>0 ? conpeek(lat,n) : letter;
    }
 
    return letteronly ? strkeep(ret,'abcdefghijklmnopqrstuvwxyz0123456789') : ret;
}
Огромное спасибо! Тема закрыта