![]() |
Показаны 12 сообщений на этой странице |
Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- PHP (http://netadmin.ws/forum/forumdisplay.php?forumid=6)
-- Перевод букв в верхний регистр (http://netadmin.ws/forum/showthread.php?threadid=10681)
Перевод букв в верхний регистр
Не переводятся некоторые украинские буквы в верхний регистр, а именно: і, ї, є.
Делаю так:
function upto($str)
{
setlocale (LC_ALL, "ru_RU.CP1251");
return preg_replace("/([a-zxE0-xFF])/e","chr(ord('\1')-32)",($str));
}
echo upto("~ телефоний довiдник ~");
quote:
Если использовать стандартную функцию strtoupper(), то английские буквы в таком случае переводятся в верхний регистр, а русские и украинские буквы вообще не переводятся в верхний регистр.
С чем может быть связана проблема?
Сайт у меня на windows-1251, буду благадоране за оказанную помощь 
Подожди, если у тебя только буквы і, ї, є не заменяются на заглавные, так и добавь в функцию три строчки с str_replace, которые будут их заменять... не?
или, чтобы не париться, пойти более другим путем, указав полную таблицу транслитерации:
function upto($str)
{
return strtr($str,'абвгде...и т.д...','АБВГДЕ...и т.д...');
}
__________________
Всякое решение порождает новые проблемы...
sVs
спасибо, работает, все єлементарно просто, как я раньше не додумался 
ЗЫ: а по сути... от чего такая проблема появляется - на винде работает, а на линухе нет? А то украинский язык уже не первый год живет, а до сих пор косяки есть 
Xrobak добавил 26-05-2005 в 15:01:57:
Enkryptor
по идее вариант, предложенный sVs лучше применить, хотя твой тоже будет работать, только вот быстрее работать будет именно вариант от sVs, если я не ошибаюсь конечно...
quote:В своё время я такую проблему(только с рус. буквами) был вынужден решать через regexp...
ЗЫ: а по сути... от чего такая проблема появляется - на винде работает, а на линухе нет? А то украинский язык уже не первый год живет, а до сих пор косяки есть
Lesnix
про setlocale() я знаю, но реально на линухе она не спасает, проверено на разных линуксовых машинах + я в самом первом посту писал пример функции, в которой настраивалась локаль, вот.
Xrobak попробуй фразу конвертнуть iconv'oм (http://lv2.php.net/iconv). А затем уже менять регистр.
__________________
Национальность - русский, вероисповедание - программист.
blacki
хм... и в какую же кодировку конвертить? УТФ-8 чтоли? Тогда получается мне весь контент сайта в УТФ-8 переганять прийдется?
Xrobak мне так и приходится делать... (правда это связанно в большей степени с поддержкой языков)
__________________
Национальность - русский, вероисповедание - программист.
эх... блина... будем думать тогда 
| Формат времени GMT. Текущее время 00:27. | Показаны 12 сообщений на этой странице |
Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.