Очень просто парсер...

Печать RSS
142

Автор
Пишу, строю и воображаю
0
10. dima.london, помоги это сделать?
Автор
Пишу, строю и воображаю
0
неужели никто не знает как его вывести :-(

2000 лет д.н.э.
0
<?php
$sss = file_get_contents('http://nbt.tj/ru/kurs/?c=4&id=28&lg=ru&d=13-05-2011&export=xmlout');
preg_match_all('|<([^<\/]+)>([^<]+)<\/|is', $sss, $res);

$l = 0;
foreach($res[2] as $data){
$l++;
echo $data.'; ';
if($l==4){ $l = 0; echo'<hr />'; }
}
?>
Изменил: ramzes (13.05.2011 / 23:02)
Автор
Пишу, строю и воображаю
0
спасибо. а то что кодировка отображает символы не корректно?ты тестировал, у тебя русские буквы показываются?
Автор
Пишу, строю и воображаю
0
$sss=iconv("cp1251", "utf-8", $sss);
СПАСИБО!

2000 лет д.н.э.
0
<?php

$sss = iconv('windows-1251', 'utf-8', file_get_contents('http://nbt.tj/ru/kurs/?c=4&id=28&lg=ru&d=13-05-2011&export=xmlout')); 
preg_match_all('|<([^<\/]+)>([^<]+)<\/|is', $sss, $res); 
$valute = array();
$l = 0; 

$arr = array();
    foreach($res[2] as $data){
$l++; 
        if($l==1){
$name = $data;
        }
$arr[$name][$l] = $data;
            if($l==4){
$l = 0;
$valute[] = $arr;
$arr = array();
            }
} 


            print_r($valute);
?>
так пожалуй поудобнее будетsmile
_______________
[PKR] => Array ( [1] => PKR [2] => 10 [3] => Пакистанских рупий [4] => 0,5314 )
[PLN] => Array ( [1] => PLN [2] => 1 [3] => Польский злотый [4] => 1,6240 )
[SAR] => Array ( [1] => SAR [2] => 1 [3] => Риал Саудовской Аравии [4] => 1,2014 )
[RUB] => Array ( [1] => RUB [2] => 1 [3] => Российский рубль [4] => 0,1606 )
[XDR] => Array ( [1] => XDR [2] => 1 [3] => СДР [4] => 7,2102 )
[SGD] => Array ( [1] => SGD [2] => 1 [3] => Сингапурский доллар [4] => 3,6163 )

Кеширование необходимо, скорость генерации того файла кошмарная
Изменил: ramzes (13.05.2011 / 23:47)
А

Чатланин
0
ramzes (13 Мая 2011 / 23:39)
<?php

$sss = iconv('windows-1251', 'utf-8', file_get_contents('http://nbt.tj/ru/kurs/?c=4&id=28&lg=ru&d=13-05-2011&export=xmlout')); 
preg_match_all('|<([^<\/]+)>([^<]+)<\/|is', $sss, $res); 
$valute = array();
$l = 0; 

$arr = array();
    foreach($res[2] as $data){
$l++; 
        if($l==1){
$name = $data;
        }
$arr[$name][$l] = $data;
            if($l==4){
$l = 0;
$valute[] = $arr;
$arr = array();
            }
} 


            print_r($valute);
?>
так пожалуй поудобнее будетsmile
_______________
[PKR] => Array ( [1] => PKR [2] => 10 [3] => Пакистанских рупий [4] => 0,5314 )
[PLN] => Array ( [1] => PLN [2] => 1 [3] => Польский злотый [4] => 1,6240 )
[SAR] => Array ( [1] => SAR [2] => 1 [3] => Риал Саудовской Аравии [4] => 1,2014 )
[RUB] => Array ( [1] => RUB [2] => 1 [3] => Российский рубль [4] => 0,1606 )
[XDR] => Array ( [1] => XDR [2] => 1 [3] => СДР [4] => 7,2102 )
[SGD] => Array ( [1] => SGD [2] => 1 [3] => Сингапурский доллар [4] => 3,6163 )

Кеширование необходимо, скорость генерации того файла кошмарная
это через жопу у тебя както
<?php
  $valute = simplexml_load_file("http://nbt.tj/ru/kurs/?c=4&id=28&lg=ru&d=13-05-2011&export=xmlout");
  
  
  for ( $i=0; $i<=37; $i++ )
	
	{
	    print "<pre>";
		print "Char Code " . $valute -> Valute[$i] -> CharCode . "<br/>";
		print "Nominal " . $valute -> Valute[$i] -> Nominal . "<br/>";
		print "Name " . $valute -> Valute[$i] -> Name . "<br/>";
		print "Value " . $valute -> Valute[$i] -> Value . "<br/>";
		print "</pre>";
	
	}
?>
K

Транклюкаторщик
0
17. МегабиТ, ну так у рамзеса то универсальный метод.
<?
print "<pre>"; 
        print "Char Code " . $valute -> Valute[$i] -> CharCode . "<br/>"; 
        print "Nominal " . $valute -> Valute[$i] -> Nominal . "<br/>"; 
        print "Name " . $valute -> Valute[$i] -> Name . "<br/>"; 
        print "Value " . $valute -> Valute[$i] -> Value . "<br/>"; 
        print "</pre>"; 
?>
вот это уже больше похоже на извращение.
зачем для каждой строчки print юзать?
<?
echo "
<pre>
Char Code $valute -> ".Valute[$i]." -> CharCode <br/>; 
Nominal $valute -> ".Valute[$i]." -> Nominal<br/> 
Name $valute -> ".Valute[$i]." -> Name<br/> 
Value $valute -> ".Valute[$i]." -> Value<br/> 
</pre>
"; 
?>
А

Чатланин
0
eGo (14 Мая 2011 / 09:31)
17. МегабиТ, ну так у рамзеса то универсальный метод.
<?
print "<pre>"; 
        print "Char Code " . $valute -> Valute[$i] -> CharCode . "<br/>"; 
        print "Nominal " . $valute -> Valute[$i] -> Nominal . "<br/>"; 
        print "Name " . $valute -> Valute[$i] -> Name . "<br/>"; 
        print "Value " . $valute -> Valute[$i] -> Value . "<br/>"; 
        print "</pre>"; 
?>
вот это уже больше похоже на извращение.
зачем для каждой строчки print юзать?
<?
echo "
<pre>
Char Code $valute -> ".Valute[$i]." -> CharCode <br/>; 
Nominal $valute -> ".Valute[$i]." -> Nominal<br/> 
Name $valute -> ".Valute[$i]." -> Name<br/> 
Value $valute -> ".Valute[$i]." -> Value<br/> 
</pre>
"; 
?>
универсальный для чего? есть специальные средства для конкретной задачи, думаешь simplexml не годится для работы с xml?)
print в каждой строке кхм в чём же извращение?
Изменил: Алексей (14.05.2011 / 09:38)

2000 лет д.н.э.
0
19. МегабиТ, автору предлогали, но его не устроило, он просил регуляркой.
For($i=0; $<37...
Тут вообще гибкостью не пахнет
______
извращение в том что ты принт в 6 раз чаще необходимого вызываешь
Изменил: ramzes (14.05.2011 / 12:00)
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск