\n"; for ($i=0; $i$name${val[0]}${val[3]}\n"; } print "\n"; // функция для забора данных с bloomberg.com function get_bloomberg_commodities() { // файл кэша (должен иметь права на чтение и запись скриптом) $cachefile = 'bloom-cfutures.txt'; // максимальный возраст кэша (секунд) $maxage = 60 * 60; // адрес, где берем цены на коммодитис $url = 'http://www.bloomberg.com/markets/commodities/cfutures.html'; if (is_readable($cachefile) && (filesize($cachefile) > 0) && (time() - filemtime($cachefile) < $maxage)) { // если есть нормальный кэш, читаем из него $raw = file_get_contents($cachefile); $data = unserialize($raw); } else { // иначе парсим блумберг... // скачиваем страницу $html = file_get_contents($url); $data = array(); // интересующие позиции и их названия в качестве ключей $items = array( 'Нефть' => 'WTI CRUDE FUTURE', 'Газ' => 'NATURAL GAS FUTR', 'Золото' => 'GOLD 100 OZ FUTR', 'Никель' => 'LME NICKEL FUTURE' ); // перебираем интересующие позиции и выдираем их значения foreach ($items as $name => $title) { if (preg_match("!]*>.*$title.*.*]*>(.*).*]*>(.*).*]*>(.*).*]*>(.*)!iU", $html, $matches)) { // первый элемент убираем array_shift($matches); // чистим от HTML-тэгов и записываем в массив $data for ($i=0; $i