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

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

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: курс золота

Сообщения:  [1-2] 

 
 автор: cheops   (24.05.2011 в 20:37)   письмо автору
 
   для: dirol   (24.05.2011 в 15:58)
 

Возможно вас заинтересует следующее регулярное выражение
<?php
  
...
  
$pattern "|<Record[^>]+Code=\"(\d+)\">\s*<Buy>([^<]+)</Buy>\s*<Sell>([^<]+)</Sell>|";
  
preg_match_all($pattern$contens$out);
  unset(
$out[0]);
  echo 
"<pre>";
  
print_r($out);
  echo 
"</pre>";
  ...
?>

  Ответить  
 
 автор: dirol   (24.05.2011 в 15:58)   письмо автору
 
 

помогите переделать регулярку под валюту работает а под золото надо чтото изменить

валюта


http://www.cbr.ru/scripts/XML_daily.asp?date_req=24/05/2011

     function get_date(){
    // Формируем сегодняшнюю дату
    $date = date("d.m.Y",time()+28800);
    // Формируем ссылку
    $link = "http://www.cbr.ru/scripts/XML_daily.asp?date_req=$date";
    // Загружаем HTML-страницу
    $fd = fopen($link, "r");
    $text="";
    if (!$fd) echo "Запрашиваемая страница не найдена";
    else{
      // Чтение содержимого файла в переменную $text
      while (!feof ($fd)) $text .= fgets($fd, 4096);
    }
    // Закрыть открытый файловый дескриптор
    fclose ($fd);
    return $text;
  }

  $contens = get_date();
  // Разбираем содержимое, при помощи регулярных выражений
  $pattern = "#<Valute ID=\"([^\"]+)[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^<]+)#i";
  preg_match_all($pattern, $contens, $out, PREG_SET_ORDER);

  foreach($out as $cur){

    if($cur[2] == '840') $USD = str_replace(",",".",$cur[4]);
    if($cur[2] == '978') $EUR = str_replace(",",".",$cur[4]);
  }


а золото отсюда
http://www.cbr.ru/scripts/xml_metall.asp?date_req1=24/05/2011&date_req2=24/05/2011

  Ответить  

Сообщения:  [1-2] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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