Весточка – это круто

June 9, 2009 by Andrew Tch · Leave a Comment 

Еще один креатив от Aleksandrs Borovko, автора ves.lv:

generate_filter

// hack if filter is empty
if (!is_array($filter))
{
  $filter=array('','','');
}

фильтр имеет вид (страница)(товаров на страницу)(всего товаров)(категория)(имя товара)(не используется)(сортировка). как видите, 5й, самый важный параметр (имя товара), тут вообще не используется. все было бы ок, но тут, в regenerate filter:

 $param_arr = array('',''); //hack to correct parse filter

…фильтр каким-то лесом состоит из 2х частей – количество товаров на странице и текущая страница.
отсыпьте, а.

————-
Сидели бы ребята, ваяли бы темы wordpress, смотрели бы фильмы онлайн и не лезли бы в сурьезные проекты.

Это ж, пля, гениально

June 1, 2009 by Andrew Tch · Leave a Comment 

Новогодний креатив от создателей ves.lv!

function unix_timestamp()
{
  return mktime(date('H'),date('i'),date('s'),date('m'),date('d'),date('Y'));
}

Не буду комментировать, чем это заменяется…
———————–
Таким прогерам – только столешницу из кварца. Или надгробъе из гранита.

О похапе и HTML-entities с проблемами

April 23, 2009 by Andrew Tch · Leave a Comment 

А вы знали, что mb_convert_encoding умеет выпиливать HTML-entities коды unicode символов?
Всего-то надо воспользоваться внутренней кодировкой HTML-ENTITIES для преобразования в нормальный юникод. Например:

$str = 'Компоненты
длякомпьюте
ров|||RAM оперативная память';
php > print mb_convert_encoding($str, 'UTF-8', 'HTML-ENTITIES');
Компоненты для компьютеров|||RAM оперативная память

Пользуйтесь последней версией PHP – функция течет как нос весной, и в 5.1 можно сразу же получить zend_mm_heap corrupred.

Об удвоении пробелов

April 14, 2009 by Andrew Tch · 2 Comments 

Код, который я переписывал, выполнял только одну задачу – на php удалять из строки повторяющиеся пробелы. Код мне приводить страшно – это очень дикий implode/explode. Не знает подрастающее поколение мощности regexp…
А ларчик-то просто открывается:

$q = preg_replace('/\s+/', ' ', $q);

—–
А если заказать разработку сайта во Владивостоке, вряд ли вам такой бред там напишут.

О суровой латышской замене строк

February 2, 2009 by Andrew Tch · 3 Comments 

Родные!
А знаете ли вы, что str_replace и в первом, и во втором параметре поддерживает массивы? Таким образом, код типа

$cat[0] = str_replace("\n"	,	" "	,	$cat[0]);
$cat[0] = str_replace("\r"	,	" "	,	$cat[0]);
 
$cat[0] = str_replace(' '	,	" "	,	$cat[0]);
$cat[0] = str_replace(' '	,	" "	,	$cat[0]);
 
$cat[0] = str_replace('&'	,	"&"	,	$cat[0]);
$cat[0] = str_replace('&'	,	"&"	,	$cat[0]);
 
$cat[0] = str_replace('<BR'	,	" <BR"	,	$cat[0]);
$cat[0] = str_replace('<br'	,	" <br"	,	$cat[0]);
$cat[0] = str_replace('|||'	,	">>>"	,	$cat[0]);
$cat[0] = str_replace('&bull;'	,	" "	,	$cat[0]);
$cat[0] = str_replace('&BULL;'	,	" "	,	$cat[0]);
 
$cat[0] = str_replace('&quot;'	,	"\""	,	$cat[0]);
$cat[0] = str_replace('&QUOT;'	,	"\""	,	$cat[0]);

заменяется на один вызов

$text = str_replace(
 
	array("\n", "\r", '&NBSP;', '&nbsp;', '&AMP;', '&amp;', '<BR' , '<br' , '|||', '&bull;', '&BULL;', '&quot;', '&QUOT;', ),
	array(' ' ,  ' ',  ' '    ,      ' ', '&'    , '&'    , ' <BR', ' <br', '>>>', ' '     , ' '     , '"'     , '"'     , ),
 
	$text);

О двойных кавычках

February 2, 2009 by Andrew Tch · 8 Comments 

Открывается рубрика code.smart, в которой я буду анализировать тот быдлокод, что попадается временами.

Начало простое:

что есть:

"2|".$shop."|".$spy->host."\n";

что плохо – двойные кавычки в PHP подвергаются подстановке, или экспансии переменных. Это значит, что конкатенацию можно не использовать и писать так:

"2|$shop|$spy->host\n";