Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> русские анологи латинских букв 
V
    Опции темы
studentigor
Дата 17.5.2010, 09:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 397
Регистрация: 14.11.2008

Репутация: нет
Всего: нет



Доброе утро!!!
есть строка из 10 символов. Мне нужно посимвольно считать строку и где встречаются русские аналоги латинских букв, поменять их на латинские(русс. А -> лат. А)и заменить его в строке.
Вот код. Сделал впринципе правильно но символ не заменяется.
Код

$i=0;
    while ($i<17)
        {
        $ch_in = substr($srt, $i, 1);
        $asci = ord($str{$i});
        if ($asci == '192'){$ch_out = chr(65);}
        elseif($asci == '194'){$ch_out = chr(66);}
        elseif($asci == '197'){$ch_out = chr(69);}
        elseif($asci == '202'){$ch_out = chr(75);}
        elseif($asci == '204'){$ch_out = chr(77);}
        elseif($asci == '205'){$ch_out = chr(72);}
        elseif($asci == '206'){$ch_out = chr(79);}
        elseif($asci == '208'){$ch_out = chr(80);}
        elseif($asci == '209'){$ch_out = chr(67);}
        elseif($asci == '210'){$ch_out = chr(84);}
        elseif($asci == '213'){$ch_out = chr(88);}
        else{$ch_out = $ch_in;}
        $str = str_replace($ch_in , $ch_out, $str);
        $i++;
                        }
return $str;
 
Мне нужны только заглавные.
Посмотрите пожалуйста, может Вы что-то обнаружите.
Заранее спасибо.
PM MAIL   Вверх
NLspieler
Дата 17.5.2010, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 619
Регистрация: 13.10.2008
Где: Берлин

Репутация: 1
Всего: 19



Ваш способ, с определением номеров букв в кодировке ansi, не будет работать с utf-кодировкой, самой лучшей для веб-программирования.
Короче, я советую сделать так

Код

$array_ru = array ('А' , 'В') ; //Тут список русских букв 

$array_en = array ('A' , 'B') ; //Тут список соответсвующих латинских букв


$str = str_replace ($array_ru , $array_en , $str) ; //Заменить буквы в строке $str



PM MAIL   Вверх
studentigor
Дата 17.5.2010, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 397
Регистрация: 14.11.2008

Репутация: нет
Всего: нет



Чёто не очень помогло!
Загоняю в строку 
WBA АЕ  где АЕ - русские
и когда делаю вывод строчки то показывает 

WBA ÈЕ- тоесть Е правильно определило а А нет , и такое с половиной букв
PM MAIL   Вверх
ksnk
Дата 17.5.2010, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 12
Всего: 386



studentigor, Cишный опыт ногам покою не дает?  smile 
Код

$trans = array("А" => "А", "B" => "В",...);
echo strtr("hi all, I said hello", $trans);


Добавлено через 1 минуту и 7 секунд
почти то-же что у NLspieler, только буковки спутать сложнее...


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.0501 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.