Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > как лучше сделать применение функции


Автор: PROme2 12.10.2006, 20:35
есть функция перекодировки текста
есть текстовая переменная, килобайт на 10
из нее выбирается порядка 50 кусков, общий объем их не более 10-15% от объема всей переменной
как оптимальней (в плане производительности) поступить: вызвать один раз функцию и перекодировать все содержание переменной вместе или вызывать функцию по 50 раз чтобы перекодировать только те кусочки, которые нужно?

Автор: Mal Hack 12.10.2006, 20:39
Смотря как это будет реализовано.

Автор: PROme2 12.10.2006, 20:44
Код

function utf8_win($s)
{
$s=strtr($s,array(
"\xD0\xB0"=>"а", "\xD0\x90"=>"А",
"\xD0\xB1"=>"б", "\xD0\x91"=>"Б",
"\xD0\xB2"=>"в", "\xD0\x92"=>"В",
"\xD0\xB3"=>"г", "\xD0\x93"=>"Г",
"\xD0\xB4"=>"д", "\xD0\x94"=>"Д",
"\xD0\xB5"=>"е", "\xD0\x95"=>"Е",
"\xD1\x91"=>"ё", "\xD0\x81"=>"Ё",
"\xD0\xB6"=>"ж", "\xD0\x96"=>"Ж",
"\xD0\xB7"=>"з", "\xD0\x97"=>"З",
"\xD0\xB8"=>"и", "\xD0\x98"=>"И",
"\xD0\xB9"=>"й", "\xD0\x99"=>"Й",
"\xD0\xBA"=>"к", "\xD0\x9A"=>"К",
"\xD0\xBB"=>"л", "\xD0\x9B"=>"Л",
"\xD0\xBC"=>"м", "\xD0\x9C"=>"М",
"\xD0\xBD"=>"н", "\xD0\x9D"=>"Н",
"\xD0\xBE"=>"о", "\xD0\x9E"=>"О",
"\xD0\xBF"=>"п", "\xD0\x9F"=>"П",
"\xD1\x80"=>"р", "\xD0\xA0"=>"Р",
"\xD1\x81"=>"с", "\xD0\xA1"=>"С",
"\xD1\x82"=>"т", "\xD0\xA2"=>"Т",
"\xD1\x83"=>"у", "\xD0\xA3"=>"У",
"\xD1\x84"=>"ф", "\xD0\xA4"=>"Ф",
"\xD1\x85"=>"х", "\xD0\xA5"=>"Х",
"\xD1\x86"=>"ц", "\xD0\xA6"=>"Ц",
"\xD1\x87"=>"ч", "\xD0\xA7"=>"Ч",
"\xD1\x88"=>"ш", "\xD0\xA8"=>"Ш",
"\xD1\x89"=>"щ", "\xD0\xA9"=>"Щ",
"\xD1\x8A"=>"ъ", "\xD0\xAA"=>"Ъ",
"\xD1\x8B"=>"ы", "\xD0\xAB"=>"Ы",
"\xD1\x8C"=>"ь", "\xD0\xAC"=>"Ь",
"\xD1\x8D"=>"э", "\xD0\xAD"=>"Э",
"\xD1\x8E"=>"ю", "\xD0\xAE"=>"Ю",
"\xD1\x8F"=>"я", "\xD0\xAF"=>"Я",
));
return $s;
}

Автор: Mal Hack 12.10.2006, 20:54
Господь, всемогущий. Что это? Перекодировка из UTF в кирилицу?
iconv на что?

Автор: PROme2 12.10.2006, 21:19
Цитата(Mal Hack @ 12.10.2006,  20:54)
Господь, всемогущий. Что это? Перекодировка из UTF в кирилицу?
iconv на что?

а он медленней не будет?

Автор: Mal Hack 12.10.2006, 21:24
Нет, конечно. Функция, встроенная в язык, почти всегда быстрее той, что ты пишешь.

Автор: PROme2 12.10.2006, 21:39
Цитата(Mal Hack @ 12.10.2006,  21:24)
Нет, конечно. Функция, встроенная в язык, почти всегда быстрее той, что ты пишешь.

ок, буду знать, спасибо
а что по поводу вопроса?
как лучше поступить?

Автор: Mal Hack 12.10.2006, 22:20
А как у тебя, интересно, текст будет в разных кодировках??

Автор: PROme2 12.10.2006, 22:45
Цитата(Mal Hack @ 12.10.2006,  22:20)
А как у тебя, интересно, текст будет в разных кодировках??

в смысле в разных? smile 
ну как тогда лучше сделать то??? smile 

Автор: Mal Hack 12.10.2006, 22:50
Цитата(PROme2 @  12.10.2006,  23:45 Найти цитируемый пост)
в смысле в разных? smile 

Суп одновременно может быть прозрачным и красным?

Все у тебя в одной кодировке и из нее конвертируй во что надо.

Автор: PROme2 13.10.2006, 10:25
Цитата(Mal Hack @ 12.10.2006,  22:50)
Цитата(PROme2 @  12.10.2006,  23:45 Найти цитируемый пост)
в смысле в разных? smile 

Суп одновременно может быть прозрачным и красным?

Все у тебя в одной кодировке и из нее конвертируй во что надо.

ОК
и все же, как лучше поступить? 1 раз по 100 или 20 раз по 1??? smile  smile  smile  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)