Нужен транслит

Тема в разделе "Коммерческие", создана пользователем limpopo, 5 окт 2008.

Информация :
Публиковать (для всех) нуленые версии, особенно от modulesgarden КАТЕГОРИЧЕСКИ не стоит. Тема мониторится оным разработчиком, а к нам приходят абузы которые нельзя игнорировать.
Статус темы:
Закрыта.
Модераторы: Amazko, Aste
  1. limpopo

    limpopo

    Регистр.:
    31 окт 2007
    Сообщения:
    544
    Симпатии:
    83
    Нужен скрипт или программа чтобы туда можно было ввести название фильма, а потом этот скрипт или программа выдавала транслит. типа Крепкий орешек после обработки krepkii_orechek
     
  2. (GG)

    (GG) Писатель

    Регистр.:
    3 окт 2008
    Сообщения:
    4
    Симпатии:
    4
    PHP:
    <?php

    function translit($ru_str) {

        
    $razd="_";
        
    $cyr_str=strtolower($ru_str);
        
    $tr =  array("А"=>"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","Щ"=>"sch","Ъ"=>"","Ы"=>"y","Ь"=>"",               
        
    "Э"=>"e","Ю"=>"u","Я"=>"ya","а"=>"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","щ"=>"sch","ъ"=>"",               
        
    "ы"=>"y","ь"=>"","э"=>"e","ю"=>"u","я"=>"ya"" " => $razd); 
        
    $textstrtr($ru_str$tr); 
        
    $text=preg_replace("/[^a-z0-9_ -]*/"""$text);
        return 
    $text;
    }
    $text translit("Крепкий орешек");
    echo 
    $text;
    ?>
     
    limpopo нравится это.
  3. limpopo

    limpopo

    Регистр.:
    31 окт 2007
    Сообщения:
    544
    Симпатии:
    83
    И чего с этим кодом делать? создал php файлик с этим кодом открываю его - белая страница.
     
  4. megadude

    megadude

    Регистр.:
    6 сен 2006
    Сообщения:
    184
    Симпатии:
    66
    Это же функция, товарищ :) Чтоб она что-то показала нужно ее вызвать. Например так(вставить после/перед функцией:(
    PHP:
    $text translit("Русский текст для транслита");
    echo 
    $text;
     
    limpopo нравится это.
  5. NewS

    NewS

    Регистр.:
    15 авг 2008
    Сообщения:
    255
    Симпатии:
    84
    А в транслите вообще есть какие-то стандарты?
    Например как будет правильно?
    так:
    krepkiy
    или так:
    krepkii
     
  6. unsiker

    unsiker

    Регистр.:
    6 июн 2008
    Сообщения:
    465
    Симпатии:
    172
    если всмотрется выше то видно что правильно будет krepky

    я лично юзаю вот такие правила
    А A
    Б B
    В V
    Г G
    Д D
    Е E
    Ё Yo
    Ж Zh
    З Z
    И I
    Й J
    К K
    Л L
    М M
    Н N
    О O
    П P
    Р R
    С S
    Т T
    У U
    Ф F
    Х H
    Ц C
    Ч 4 или (Ch)
    Ш Sh
    Щ Sch
    Ь Q
    Ы Y
    Ъ ''(2 одинарн.кавычки)
    Э Ye
    Ю Yu
    Я Ya
    Ї Jy
    Є Je
     
    limpopo нравится это.
  7. limpopo

    limpopo

    Регистр.:
    31 окт 2007
    Сообщения:
    544
    Симпатии:
    83
    Вообще все равно как будет транслит правильно или не правильно надо просто быстро переименновывать название фильмов в латиницу. Что нет таких программок или скриптов?
     
  8. megadude

    megadude

    Регистр.:
    6 сен 2006
    Сообщения:
    184
    Симпатии:
    66
    Для тех, кто в танке:
    PHP:
    <?php
    header
    ('Content-Type:text/plain; charset=UTF-8');

    $file_in "ru_movies.txt"// Your input file
    $file_out "tr_movies.txt"// Your output file

    // Open and read the file with Russian movies
    $fn fopen($file_in"r");
    while (!
    feof($fn)) {
      
    $content .= fgets($fn);
    }
    fclose($fn);

    // Translit everything
    $new_content translit($content);

    // Write to Translit file
    $fn fopen($file_out"w");
    fwrite($fn$new_content);
    fclose($fn);

    // GG function
    function translit($ru_str) {
        
    $razd="_";
        
    $cyr_str=strtolower($ru_str);
        
    $tr =  array("А"=>"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","Щ"=>"sch","Ъ"=>"","Ы"=>"y","Ь"=>"",               
        
    "Э"=>"e","Ю"=>"u","Я"=>"ya","а"=>"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","щ"=>"sch","ъ"=>"",               
        
    "ы"=>"y","ь"=>"","э"=>"e","ю"=>"u","я"=>"ya"" " => $razd); 
        
    $textstrtr($ru_str$tr); 
        return 
    $text;
    }

    ?>
    Названия фильмов должны быть в файле в одной папке со скриптом и называться ru_movies.txt - 1 фильм на строчку.
    После работы скрипта на экран ничего не выводится - результат работы сохраняется в файл tr_movies.txt в ту же папку.

    Добавлено через 15 минут
    Да. Старый — ГОСТ 16876-71 и более свежий ISO 9-95.

    PHP:
    $gost = array(
       
    "Є"=>"EH","І"=>"I","і"=>"i","№"=>"#","є"=>"eh",
       
    "А"=>"A","Б"=>"B","В"=>"V","Г"=>"G","Д"=>"D",
       
    "Е"=>"E","Ё"=>"JO","Ж"=>"ZH",
       
    "З"=>"Z","И"=>"I","Й"=>"JJ","К"=>"K","Л"=>"L",
       
    "М"=>"M","Н"=>"N","О"=>"O","П"=>"P","Р"=>"R",
       
    "С"=>"S","Т"=>"T","У"=>"U","Ф"=>"F","Х"=>"KH",
       
    "Ц"=>"C","Ч"=>"CH","Ш"=>"SH","Щ"=>"SHH","Ъ"=>"'",
       
    "Ы"=>"Y","Ь"=>"","Э"=>"EH","Ю"=>"YU","Я"=>"YA",
       
    "а"=>"a","б"=>"b","в"=>"v","г"=>"g","д"=>"d",
       
    "е"=>"e","ё"=>"jo","ж"=>"zh",
       
    "з"=>"z","и"=>"i","й"=>"jj","к"=>"k","л"=>"l",
       
    "м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r",
       
    "с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"kh",
       
    "ц"=>"c","ч"=>"ch","ш"=>"sh","щ"=>"shh","ъ"=>"",
       
    "ы"=>"y","ь"=>"","э"=>"eh","ю"=>"yu","я"=>"ya","«"=>"","»"=>"","—"=>"-"
      
    );

    $iso = array(
       
    "Є"=>"YE","І"=>"I","Ѓ"=>"G","і"=>"i","№"=>"#","є"=>"ye","ѓ"=>"g",
       
    "А"=>"A","Б"=>"B","В"=>"V","Г"=>"G","Д"=>"D",
       
    "Е"=>"E","Ё"=>"YO","Ж"=>"ZH",
       
    "З"=>"Z","И"=>"I","Й"=>"J","К"=>"K","Л"=>"L",
       
    "М"=>"M","Н"=>"N","О"=>"O","П"=>"P","Р"=>"R",
       
    "С"=>"S","Т"=>"T","У"=>"U","Ф"=>"F","Х"=>"X",
       
    "Ц"=>"C","Ч"=>"CH","Ш"=>"SH","Щ"=>"SHH","Ъ"=>"'",
       
    "Ы"=>"Y","Ь"=>"","Э"=>"E","Ю"=>"YU","Я"=>"YA",
       
    "а"=>"a","б"=>"b","в"=>"v","г"=>"g","д"=>"d",
       
    "е"=>"e","ё"=>"yo","ж"=>"zh",
       
    "з"=>"z","и"=>"i","й"=>"j","к"=>"k","л"=>"l",
       
    "м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r",
       
    "с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"x",
       
    "ц"=>"c","ч"=>"ch","ш"=>"sh","щ"=>"shh","ъ"=>"",
       
    "ы"=>"y","ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya","«"=>"","»"=>"","—"=>"-"
      
    );
     
    NewS и limpopo нравится это.
  9. jay_b

    jay_b Создатель

    Регистр.:
    30 авг 2008
    Сообщения:
    11
    Симпатии:
    0
    Вот этот скрипт мож подойдет ))))
    Посмотреть вложение translite.zip
     
Статус темы:
Закрыта.