Сегодня заметил небольшую особенность в стандартной php функции, которую раньше как-то не замечал. Вылез баг в замене значения по маске через str_replace. Код выглядит вот так :
$ar_ResultList[] = str_replace(
array("#ID#", "", "", "", "#CODE#",
"#CITY_CODE#", "#DETAIL_URL#", "#HOTEL_CODE#"),
$ar_ObjectFiled,
$s_LinkTemplates
);
Это уже исправленный код, т.е если мы ищем и заменяем в массиве то ключи должны совпадать и по расположению, т.е. по ключам.