Архив / 2011

Изменение регистра символов

Необходимо было проверить строку на наличие слов, написанных в верхнем регистре и заменить их на слово в нижнем регистре, но с заглавным первым символом.
Функция ctype_upper не подошла, т.к. плохо работает с кириллицей.

Написал такую функцию:

function lower($str, $charset='UTF-8')
{
	//	Разбиение строки.
	$tmp = explode(' ', $str);

	if (is_array($tmp) && 0 < ($count = count($tmp)))
	{
		for ($i=0;$i<$count;$i++)
		{
			/**
			 * Для определения кириллицы используется тождественное сравнивание,
			 *  т.к. ctype_upper работает некорректно.
			 * 
			 */
			if ($tmp[$i] !== mb_strtolower($tmp[$i], $charset))
			{
				$tmp[$i] = mb_convert_case(mb_strtolower($tmp[$i], $charset), MB_CASE_TITLE, $charset);
			}
		}
	}
	$str = implode(' ', $tmp);
	return $str;
}

Использовать можно так:

$str = 'Записки WEB-ПРОГРАММИСТА';
echo lower($str); // Записки Web-Программиста

Перевод часов в HTC

Мой HTC Legend с Android 2.2 на борту не знал, что перевод времени на зимнее отменили. И, соответственно, в час X перевел время на час назад, получив его от оператора. Решилось это простым отключением автоматического обновления времени и переводом времени.

После этого начались проблемы с сортировкой сообщений. Все сообщения датировались часом ранее локального времени. Решить это можно изменением часового пояса на GMT+4.

Условия в if

В стандартах кодирования в разделе «форматирование блоков if then else» написано, что при сравнении константы необходимо ставить слева, т.е.

if (1 == $var)

Сегодня задумался по поводу сравнения с булевыми константами.
Как лучше писать

if (true === $var)

или использовать восклицательный знак (!)

if (!$var)

Разговор с ГАИ

Недавно мне исполнилось 25 лет и поэтому в субботу мы собирались с друзьями, дабы отметить это событие. В воскресенье, естественно, я не выпивал, т.к. в понедельник на работу.

Сегодня утром по пути на работу меня останавливают на посту для проверки документов. Езжу я по доверенности, которая лежит в документах в свернутом виде, и поэтому при проверке я достал ее и вручил отдельно. Узнав о том, что я езжу по доверенности инспектор предлагает мне пройти на пост, чтобы проверить машину. Ну мало ли. Проверят на угон и отпустят.
Читать полностью →

Раскладки в Fedora 14

После установки Fedora 14 в системе была установлена лишь одна раскладка — USA (dead keys). Добавил Rus и USA, а dead keys удалил. При каждой перезагрузке системы, благо это случается не часто, вновь появляется USA (dead keys).

Кто-нибудь сталкивался с такой проблемой?