Neiv, найдите код:
$out = iconv("UTF-8", "CP1251", $out);
preg_match_all('#<table summary=\"Карты погоды\">(.*?)</table>#si',$out,$tabl);
замените его на:
//$out = iconv("UTF-8", "CP1251", $out);
preg_match_all('#<table summary=\"Карты погоды\">(.*?)</table>#si',$out,$tabl);
Если и после этого будет криво работать, то просто оставьте такой код:
//$out = iconv("UTF-8", "CP1251", $out);
preg_match_all('#<table summary=\"Карты погоды\">(.*?)</table>#si',$out,$tabl);
И пересохраните сам файл в UTF-8...