Вход Регистрация
Файл: engine/classes/translit.class.php
Строк: 27
<?php
/**
 * Класс для перевода больших текстов
 * 
 * @package Classes
 * @author Shamsik
 * @link http://shcms.ru
 */
class translit {

    
/**
 * Транслитерация ГОСТ 7.79-2000
     * 
 * @param string $text
 * @param bool $strip_spaces
 * @return string
 */
function Translit$text$strip_spaces true ){
    if(
$strip_spaces) {
        
$text str_replace(' ''_'$text);
    }
    
$text str_replace(' ''_'$text);
    
$text strtr($text, array(
        
'а' => 'a''А' => 'A',
        
'б' => 'b''Б' => 'B',
        
'в' => 'v''В' => 'V',
        
'г' => 'g''Г' => 'G',
        
'д' => 'd''Д' => 'D',
        
'е' => 'e''Е' => 'E',
        
'ё' => 'yo''Ё' => 'YO',
        
'ж' => 'zh''Ж' => 'ZH',
        
'з' => 'z''З' => 'Z',
        
'и' => 'i''И' => 'I',
        
'й' => 'j''Й' => 'J',
        
'к' => 'k''К' => 'K',
        
'л' => 'l''Л' => 'L',
        
'м' => 'm''М' => 'M',
        
'н' => 'n''Н' => 'N',
        
'о' => 'o''О' => 'O',
        
'п' => 'p''П' => 'P',
        
'р' => 'r''Р' => 'R',
        
'с' => 's''С' => 'S',
        
'т' => 't''Т' => 'T',
        
'у' => 'u''У' => 'U',
        
'ф' => 'f''Ф' => 'F',
        
'х' => 'x''Х' => 'X',
        
'ц' => 'c''Ц' => 'C',
        
'ч' => 'ch''Ч' => 'CH',
        
'ш' => 'sh''Ш' => 'SH',
        
'щ' => 'shh''Щ' => 'SHH',
        
'ъ' => '``''Ъ' => '``',
        
'ы' => 'y'', 'Ы' => 'Y'',
        
'ь' => '`''Ь' => '`',
        
'э' => 'e`''Э' => 'E`',
        
'ю' => 'yu''Ю' => 'YU',
        
'я' => 'ya''Я' => 'YA',
    ));
    return 
$text;
}

/**
 * Ретранслитерация ГОСТ 7.79-2000
 * 
 * @param string $text
 * @param bool $strip_tospaces
 * @return string
 */
function Retranslit$text$strip_tospaces true ){
    if(
$strip_tospaces){
        
$text str_replace('_'' '$text);
    }
    
$text strtr($text, array(
        
'a' => 'а''A' => 'А',
        
'b' => 'б''B' => 'Б',
        
'v' => 'в''V' => 'В',
        
'g' => 'г''G' => 'Г',
        
'd' => 'д''D' => 'Д',
        
'e' => 'е''E' => 'Е',
        
'yo' => 'ё''YO' => 'Ё',
        
'zh' => 'ж''ZH' => 'Ж',
        
'z' => 'з''Z' => 'З',
        
'i' => 'и''I' => 'И',
        
'j' => 'й''J' => 'Й',
        
'k' => 'к''K' => 'К',
        
'l' => 'л''L' => 'Л',
        
'm' => 'м''M' => 'М',
        
'n' => 'н''N' => 'Н',
        
'o' => 'о''O' => 'О',
        
'p' => 'п''P' => 'П',
        
'r' => 'р''R' => 'Р',
        
's' => 'с''S' => 'С',
        
't' => 'т''T' => 'Т',
        
'u' => 'у''U' => 'У',
        
'f' => 'ф''F' => 'Ф',
        
'x' => 'х''X' => 'Х',
        
'c' => 'ц''C' => 'Ц',
        
'ch' => 'ч''CH' => 'Ч',
        
'sh' => 'ш''SH' => 'Ш',
        
'shh' => 'щ''SHH' => 'Щ',
        
'``' => 'ъ',
        
'y'' => 'ы', 'Y'' => 'Ы',
        
'`' => 'ь',
        
'e`' => 'э''E`' => 'Э',
        
'yu' => 'ю''YU' => 'Ю',
        
'ya' => 'я''YA' => 'Я',
    ));
    return 
$text;
}

/**
 * Транслитерация строки для использования в URL
 * 
 * @param string $text
 * @return string
 */
function TranslitUrl$text ){
    
$text strtr($text, array(
        
'а' => 'a''А' => 'A',
        
'б' => 'b''Б' => 'B',
        
'в' => 'v''В' => 'V',
        
'г' => 'g''Г' => 'G',
        
'д' => 'd''Д' => 'D',
        
'е' => 'e''Е' => 'E',
        
'ё' => 'yo''Ё' => 'YO',
        
'ж' => 'zh''Ж' => 'ZH',
        
'з' => 'z''З' => 'Z',
        
'и' => 'i''И' => 'I',
        
'й' => 'j''Й' => 'J',
        
'к' => 'k''К' => 'K',
        
'л' => 'l''Л' => 'L',
        
'м' => 'm''М' => 'M',
        
'н' => 'n''Н' => 'N',
        
'о' => 'o''О' => 'O',
        
'п' => 'p''П' => 'P',
        
'р' => 'r''Р' => 'R',
        
'с' => 's''С' => 'S',
        
'т' => 't''Т' => 'T',
        
'у' => 'u''У' => 'U',
        
'ф' => 'f''Ф' => 'F',
        
'х' => 'x''Х' => 'X',
        
'ц' => 'c''Ц' => 'C',
        
'ч' => 'ch''Ч' => 'CH',
        
'ш' => 'sh''Ш' => 'SH',
        
'щ' => 'shh''Щ' => 'SHH',
        
'ъ' => '''Ъ' => '',
        
'ы' => 'y''Ы' => 'Y',
        
'ь' => '''Ь' => '',
        
'э' => 'e''Э' => 'E',
        
'ю' => 'yu''Ю' => 'YU',
        
'я' => 'ya''Я' => 'YA',
    ));
    
$text preg_replace('/[^a-zA-Z0-9.-_ ]*/'''$text);
    
$text trim($text' _');
    
$text str_replace(' ''_'$text);
    return 
$text;
}

}
Онлайн: 1
Реклама