Страница 1 из 1

unicode && preg_match_all

Добавлено: 2010-11-27 16:10:50
xaker1
Простой php код.

Код: Выделить всё

<?
if(preg_match_all('/^[А-Яа-яёЁ]+$/', 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя', $matches)) echo ' ok '; else echo ' off ';
echo "\n";
print_r($matches);
?>
Выдает разные результаты, в зависимости от кодировки, в которой сохранен код.

Код: Выделить всё

off Array ( [0] => Array ( ) )
в unicode

Код: Выделить всё

ok Array ( [0] => Array ( [0] => абвгдеёжзийклмнопрстуфхцчшщъыьэюя ) )
в cp1251

Re: unicode && preg_match_all

Добавлено: 2010-11-27 19:00:49
xaker1
Может кто-нибудь предложит что-нибудь. Неохота весь скрипт перекодировать в cp1251

Re: unicode && preg_match_all

Добавлено: 2010-11-27 19:06:40
xaker1
Причем проблема только на некоторые буквы, "р" и "щ" точно, остальные не искал. Если их прописать в регулярке, то будет работать. Т.е. эти буквы не входят в "а-я"

Re: unicode && preg_match_all

Добавлено: 2010-11-29 10:59:18
Alex Keda
вверх скрипта

Код: Выделить всё

setlocale(LC_ALL, 'ru_RU.CP1251');
тока вы юникод подсуньте

Re: unicode && preg_match_all

Добавлено: 2010-11-29 11:01:23
Alex Keda
[offtop]
чем всё c sa(8) закончилось?
http://forum.lissyara.su/viewtopic.php?f=53&t=28371
у меня показывает примерно вдвое меньше чем ps
либо я с головами перемудрил (у меня все двухголовые) либо ещё чего..

Re: unicode && preg_match_all

Добавлено: 2010-11-29 14:50:18
xaker1
Не сравнивал.
p.s. а как сравнивать-то? В одном случае %, в другом секунды cpu

Re: unicode && preg_match_all

Добавлено: 2010-11-29 16:53:23
Alex Keda
ну, батенько...
сутки сервера - это что? это 24 часа * 60 минут * 60 секунд * число голов
делим число секунд на процессоре на полученную цифру и умножаем на сто.
что получается? верно - процент проца

не учитывается оверхед на форки и прочие системные вызовы - но абсолютно точную картину по юзеру - даёт