Главная
  • Выполненные работы
  • Партнеры
  • Услуги и цены


  • Программирование / Русский в транслит. PHP функция


    Warning: in_array() [function.in-array]: Wrong datatype for second argument in /var/www/dekus/data/www/dekusworld.ru/wp-content/plugins/jetpack/modules/sharedaddy/sharing-service.php on line 425

    Warning: in_array() [function.in-array]: Wrong datatype for second argument in /var/www/dekus/data/www/dekusworld.ru/wp-content/plugins/jetpack/modules/sharedaddy/sharing-service.php on line 427

    Не знаю на сколько будет кому-то полезно, но сегодня (как вы заметили) я наконец-то включил плагин для подсветки кода, а значит буду публиковать кое-что из своих исходников.

    Задача транслитерации в программировании встречается достаточно часто. По сети ходит много хороших и плохих реализаций алгоритма, поэтому я думаю от публикации еще одной хуже не станет. Функция не претендует на идеальность (писалось черти когда, но работает и править ее лень). Только что посмотрел на код и подивился некоторым своим решениям из 2006 года...

    function translit_from_rus($text) {
    $rus="а_б_в_г_д_е_ё_ж_з_и_й_к_л_м_н_о_п_р_с_т_у_ф_х_ц_ч_ш_щ_ь_ы_ъ_э_ю_я_А_Б_В_Г_Д_Е_Ё_Ж_З_И_Й_К_Л_М_Н_О_П_Р_С_Т_У_Ф_Х_Ц_Ч_Ш_Щ_Ь_Ы_Ъ_Э_Ю_Я";
    $lat="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_ju_ja_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_JU_JA";
    	$lat_chr=split("_",$lat);
    	$rus_chr=split("_",$rus);
    	for ($i=0;$i<66;$i++) {
    		$text=str_replace($rus_chr[$i],$lat_chr[$i],$text);
    	}
    	return $text;
    }
    

    Рекламный блок
    Промышленная автоматизация в задачах и примерах на сайте http://invert.ru/ для больших и маленьких рабовладельцев. Читайте и ведите страну к процветанию.

    Коментарии FB

    комментариев

    Powered by Facebook Comments

    Предыдущее сообщение:
    Следующее сообщение:

    5 коммент. к “Русский в транслит. PHP функция”

    1. CoolSeoMan пишет:

      Перенос строк не работает. Из-за этого код расплывается по всей странице и «наезжает» на сайдбар.


    2. Перспективный блоггер пишет:

      А вот чтобы этого не было добавь в цсс-ку:

      .syntaxhighlighter {overflow-x: scroll;}.


    3. dekus пишет:

      Уже работает. Исправил


    4. dekus пишет:

      не люблю скролы, поставил word-wrap


    5. onuf пишет:

      Нихрена не работает перенос, по крайней мере в последней опере мобильной. Выглядит по-уродски.


    Оставить комментарий или два

    XHTML: Вы можете использовать эти тэги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>