![]() |
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]() ![]() ![]() |
|
supercelt |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 25.8.2005 Репутация: нет Всего: 1 |
Подставляются туда только буквы, причём только одна. Так вот, всё до G - нормально, а буква g (G) заменяется на Ф. И такая же херь ещё с некоторыми. В чём может быть ошибка? Это сообщение отредактировал(а) supercelt - 3.6.2008, 11:27 |
|||
|
||||
krundetz |
|
|||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 1 Всего: 69 |
Внимательнее смотрите на свои строки у вас как раз строке с английскими буквами повторяется несколько раз буква G а против неё стоят разные буквы в строке с русскими буквами. А вообще там алгоритм используется обычно другой.
Добавлено через 5 минут и 13 секунд
|
|||
|
||||
supercelt |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 25.8.2005 Репутация: нет Всего: 1 |
ааа, ясно, спасибо
|
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 1 Всего: 32 |
krundetz, это ты серьёзно?
|
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 2 Всего: 315 |
есть покороче вариант:
Добавлено через 1 минуту и 13 секунд надо только перевернуть её в обратную сторону |
|||
|
||||
krundetz |
|
|||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 1 Всего: 69 |
Абсолютно. Вобщем то код там рабочий из какогото уже несуществующего проекта. Но выкладывал я его чтобы принцип понятен был. Как его оптимизировать показал bars80080. |
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 1 Всего: 32 |
krundetz, у тебя там не принцип, а голотяпство с костылями.
Принцип показан уже у автора вопроса. Как его оптимизировать, показал Барс. А ты тут вообще не при чем |
|||
|
||||
slaw |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 19.4.2008 Репутация: 1 Всего: 1 |
Feldmarschall, рабочий скрипт?.. рабочий... а то, что через ... сделан (так он сам признался, что не его творение... и это лишь пример)... к тому же у bars80080-а есть ошибка в функции (4 со 2 строкой местами поменять не мешало бы)
|
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 2 Всего: 315 |
почему? это же перевод с кирилицы на латиницу, там везде берётся один символ.
А вот в обратном направлении да, надо строку с многосимвольными сочетаниями поднять на первое место, ну и поменять местами значения в массивах |
|||
|
||||
supercelt |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 25.8.2005 Репутация: нет Всего: 1 |
Всё проще. В общем смысл такой, что слово помещается в базу и просто нужно выделить первую букву слова, что бы тоже записать её в базу, для лёгкого отображения по алфавиту. Но иногда в русском варианте чел может написать англ. буквы, не по ошибке, а потому что само слово такое. Вот и надо строго заменить одну букву только на одну. И вот проблема в том, что: г->g и ж->g. Так что функция strtr не подойдёт
|
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 1 Всего: 32 |
supercelt, тебе искусственный интеллект, что ли нужен? чтобы скрипт сам определял, что Gena - это Жена, а не Гена? Это тебе не на этот форум тогда
|
|||
|
||||
supercelt |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 25.8.2005 Репутация: нет Всего: 1 |
Feldmarschall ,речь идёт не о словах а только об одной букве, с которой начинается слово
|
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 1 Всего: 32 |
жесть.
если речь будет идти об одной букве, СМЫСЛ моего вопроса изменится? |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 2 Всего: 315 |
функция strtr нормально справляется со своими обязаностями
естесственно будут погрешности на переводе туда-обратно, но этого не избежать (кирилица и латиница - это не разные кодировки одного и того же)
если же тебе нужно записать одну букву в БД, то не понятно зачем идёт транслитерация, раз неизвестно когда нужно переводить, а когда не нужно советую просто rawurlencode твоей букве и она везде будет выглядеть одинаково |
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 1 Всего: 32 |
bars80080, ты вопрос читать не пробовал?
перед тем, как на него отвечать |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Тексты | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |