Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: вопрос по поводу strtr
Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010
Помог: 42 раз(а)
jfr, наверно потому что ты работаешь без учёта кодировки.
У тебя веть кодировка уникод на сайте стоит, верно? А она многобайтовая, вот поэтому и не заменяются как надо строки.
jfr
Отправлено: 13 Февраля, 2011 - 19:16:13
Посетитель
Покинул форум
Сообщений всего: 332
Дата рег-ции: Март 2010 Откуда: Таджикистан, Худжанд
Помог: 0 раз(а)
[+]
Okula пишет:
jfr, наверно потому что ты работаешь без учёта кодировки.
У тебя веть кодировка уникод на сайте стоит, верно? А она многобайтовая, вот поэтому и не заменяются как надо строки.
Okula, совсем не понимаю я эту функцию strtr, например
Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010
Помог: 42 раз(а)
jfr, тоесть функция str_replace() выполняет такие же операции.
grefon
Отправлено: 13 Февраля, 2011 - 21:04:32
Частый посетитель
Покинул форум
Сообщений всего: 823
Дата рег-ции: Нояб. 2010
Помог: 32 раз(а)
Думаю, в том смысле, что str_replace() намного более гибкая, имеет тот же функционал и, самое главное, при использовании нее не возникает непонятных ситуаций. Короче, strtr- в топку, str_replace() - виват!
----- ____________________________________________________________________
Ну как то так, наверное. http://grefon[dot]com
OrmaJever
Отправлено: 13 Февраля, 2011 - 22:09:55
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
При больших обьёмах даных strtr() работает быстрее, но если длянекоторых ситуаций нужна str_replace()
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Okula
Отправлено: 13 Февраля, 2011 - 22:20:06
Участник
Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010
Помог: 42 раз(а)
OrmaJever, ну так строковые функции всегда работали быстрее, правда они не всегда удобны ;)
OrmaJever
Отправлено: 13 Февраля, 2011 - 22:30:54
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
если в $in будет:
"д" то заменит на "а"
"е" то заменит на "т"
"ц" то заменит на "о"
к примеру:
$in = "работает"; # работает
результат будет
echo $out; # работатт
JustUserR
Отправлено: 14 Февраля, 2011 - 13:40:49
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
grefon пишет:
Короче, strtr- в топку, str_replace() - виват!
Использование указанных функций замены и модификации строковых элементов предполагает решения значительных различных задач - в частности использование функции strtr осуществляется гарантированную замены всех возможных вхождений искомых последовательностей в оригинальной строке с условием предшествующего просмотра для самых длинных элементых последовательностей - в то время как использование функции str_replace обеспечивает линейную последовательную замены что не обеспечиват гарантированного результата
В качестве иллюстрации к указанному описание возможно использование функции переведения транслитерированного текста в оригиниальный русскоязычный вид
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.