Нашел нужный пример но он не работает PHP: // Формируем сегодняшнюю дату $date = date("d/m/Y"); // Формируем ссылку $link = "http://www.cbr.ru/currency_base/D_print.asp?date_req=$date"; // Загружаем HTML-страницу $fd = fopen($link, "r"); $text=""; if (!$fd) echo "Запрашиваемая страница не найдена"; else { // Чтение содержимого файла в переменную $text while (!feof ($fd)) $text .= fgets($fd, 4096); } // Закрыть открытый файловый дескриптор fclose ($fd); // Извлекаем курс доллара preg_match("|Доллар США[^>]*>[^>]*>([\d,\.]*)li", $text, $out); echo "Курс доллара - ".$out[1]; // Извлекаем курс ЕВРО preg_match("|EBPO[^>]*>[^>]*>([\d,\.]*)|i", $text, $out); echo "<br>Kypc ЕВРО - ".$out[1]; Выдает несколько ошибок проверял переменная $text существует вроде бы должно работать помогите исправить что не так в этом коде ?
PHP: <?php $date=date("d/m/Y"); $content=file_get_contents("http://www.cbr.ru/currency_base/D_print.asp?date_req=$date"); $content=str_replace("&"."nbsp;"," ",$content); $content=preg_replace("{\s+}"," ",$content); $content=str_replace("> <","><",$content); $pattern= "{<tr bgcolor=\"#ffffff\"><td.*?>(\d+)</td><td.*?>\s?(\w+)</td>". "<td.*?>(\d+)</td><td>\s?(.*?)</td><td.*?>([\d.,]+)</td></tr>}"; preg_match_all($pattern,$content,$matches,PREG_SET_ORDER); $currency=array(); foreach($matches as $match) $currency[$match[2]]= array("code"=>$match[1],"num"=>$match[3],"title"=>$match[4],"rate"=>$match[5]); echo $currency["USD"]["rate"]; // 24,5076