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