Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как можно "выдернуть" курс валюты с др.сайта, имея ссылку на неё?
 
 автор: Dinya_1   (24.04.2011 в 21:29)   письмо автору
 
 

Как можно "выдернуть" курс валюты с др.сайта, имея ссылку на неё?
Ссылка на курс доллара Центрального банка Узбекистана.
http://cbu.uz/rate.php?date=24.04.2011&curr=usd
результат перехода по вышеуказанному адресу

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> 
- <response>
  <symbol>USD</symbol> 
  <date_act>19.04.2011</date_act> 
  <rate>1689.23</rate> 
  <size>1</size> 
  </response>

  Ответить  
 
 автор: cheops   (24.04.2011 в 22:06)   письмо автору
 
   для: Dinya_1   (24.04.2011 в 21:29)
 

Возможно вас заинтересует решение для Российского Центробанка http://softtime.ru/scripts/valute.php.

PS Если адаптация вызовет затруднения, пожалуйста сообщите.

  Ответить  
 
 автор: dinya_1   (25.04.2011 в 11:30)   письмо автору
 
   для: cheops   (24.04.2011 в 22:06)
 

Из приведенного примера "Загрузка курса валют с сайта ЦентроБанка"

не понятно что означают ($cur[2] ….. (",",".",$cur[4]);

840 и 978 это номера кодов валют
http://www.cbr.ru/scripts/XML_daily.asp

В XML формате данные выходят след.образом Для доллара (http://www.cbr.ru/scripts/XML_daily.asp):
<Valute ID="R01235">
<NumCode>
840
</NumCode>
<CharCode>
USD
</CharCode>
<Nominal>
1
</Nominal>
<Name>
Доллар США
</Name>
<Value>
28,8500
</Value>
</Valute>


У меня в XML формате на сайте (http://cbu.uz/rate.php?date=24.04.2011&curr=usd , данные выходят так: (смотреть в IE))

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> 
- <response>
  <symbol>USD</symbol> 
  <date_act>19.04.2011</date_act> 
  <rate>1689.23</rate> 
  <size>1</size> 
  </response>


На данном этапе "разбора полетов" Получается сделать только следующее:

$link = "http://cbu.uz/rate.php?date=24.04.2011&curr=usd"; 
    // Загружаем HTML-страницу 
    $fd = fopen($link, "r"); 
    $text=""; 
    if (!$fd) echo "Запрашиваемая страница не найдена"; 
    else 
    { 
       //Чтение содержимого файла в переменную $text 
      while (!feof ($fd)) $text .= fgets($fd, 4096); 
    } 
echo ($text);

Результат выходит такой: USD19.04.20111689.231
Не могу ни как выделить курс 1689.231

  Ответить  
 
 автор: cheops   (25.04.2011 в 12:33)   письмо автору
 
   для: dinya_1   (25.04.2011 в 11:30)
 

В принципе у вас одна валюта, её получить не очень сложно, попробуйте следующий скрипт
<?php 
  $url 
"http://cbu.uz/rate.php?date=24.04.2011&curr=usd";
  
$content file_get_contents($url);
  
$pattern "|<rate>([\d\.]+)</rate>|";
  if(
preg_match($pattern$content$out))
  {
    echo 
$out[1];
  }
?>

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования