|
автор: ССС (28.03.2006 в 19:20) |
|
| Короче написал код который выдирает с яндекса Курсы Валют...
Вот код :
<? Error_Reporting(E_ALL & ~E_NOTICE);
$page=file("http://www.yandex.ru/");
$page_n=array(); $uss=0;
for($i=0; $i<count($page); $i++)
{
if($uss==0){
if($page[$i]=="<!-- Котировки -->\n"){
$page_n[]=$page[$i];
$uss=1;
}
}
if($uss==1){
$page_n[]=$page[$i];
if($page[$i]=="<!-- /Котировки -->\n") $uss=2;
}
}
echo "Всего Строк : ".count($page_n)."<br>";
for($m=0; $m<count($page_n); $k++){
echo $page_n[$k];
}
echo "А Вот И Эти Строки : <br>";
$page_n=htmlspecialchars($page_n);
for($m=0; $m<count($page_n); $k++){
echo $page_n[$k]."<br>";
}
?>
Тока он че та долго работает ! Помогите подправить его!!! Или предложите свой вариант ! | |
|
|
|
|
|
|
|
для: ССС
(28.03.2006 в 19:20)
| |
<?php
$xml_array = @file(MAIN_PATH."/valute.xml");
if (date("H") > trim($xml_array[0]) || date("H") < trim($xml_array[0])) {
$xml_text = file_get_contents("http://www.cbr.ru/scripts/XML_daily.asp");
$f = fopen(MAIN_PATH."/valute.xml", "w+");
if ($f) {
fputs($f, date("H")."\r\n");
fputs($f, $xml_text);
}
} else {
$f = fopen(MAIN_PATH."/valute.xml", "r");
if ($f) $xml_text = fread($f, filesize(MAIN_PATH."/valute.xml"));
}
function getValute($id, $xml) {
preg_match("/<Valute ID=\"".$id."\">(.*)<\/Valute>/Usi", $xml, $xml_items);
preg_match("/<Value>(.*)<\/Value>/i", $xml_items[1], $valute);
return $valute[1];
}
function getNominal($id, $xml) {
preg_match("/<Valute ID=\"".$id."\">(.*)<\/Valute>/Usi", $xml, $xml_items);
preg_match("/<Nominal>(.*)<\/Nominal>/i", $xml_items[1], $nominal);
return $nominal[1];
}
print "\t<table>\n";
print "\t<tr><td title=\"Доллар США\">USD:</td><td><strong>".getValute("R01235", $xml_text)."/".getNominal("R01235", $xml_text)."</strong></td></tr>\n";
print "\t<tr><td title=\"Евро\">EUR:</td><td><strong>".getValute("R01239", $xml_text)."/".getNominal("R01239", $xml_text)."</strong></td></tr>\n";
print "\t<tr><td title=\"Английский фунт стерлингов\">GBR:</td><td><strong>".getValute("R01035", $xml_text)."/".getNominal("R01035", $xml_text)."</strong></td></tr>\n";
print "\t<tr><td title=\"Швейцарский франк\">CHF:</td><td><strong>".getValute("R01775", $xml_text)."/".getNominal("R01775", $xml_text)."</strong></td></tr>\n";
print "\t<tr><td title=\"Украинский гривен\">UAH:</td><td><strong>".getValute("R01720", $xml_text)."/".getNominal("R01720", $xml_text)."</strong></td></tr>\n";
print "\t<tr><td title=\"Белорусский рубль\">BYR:</td><td><strong>".getValute("R01090", $xml_text)."/".getNominal("R01090", $xml_text)."</strong></td></tr>\n";
print "\t</table>\n";
?>
|
Если нужно, то вот я такой писал скрипт. С ЦРБ берёт курсы. | |
|
|
|
|
автор: CCC (28.03.2006 в 19:36) |
|
|
для: Sergey89
(28.03.2006 в 19:28)
| | Мне бы свой подправить!!! но всер на спасибо! | |
|
|
|
|
|
|
|
для: ССС
(28.03.2006 в 19:20)
| | Попробуйте переориентировать скрипт с функции file() на file_get_contents() - она должна быстрее работать. | |
|
|
|
|
автор: ССС (29.03.2006 в 07:26) |
|
|
для: cheops
(28.03.2006 в 22:29)
| | Короче теперь Такая Проблема : функция поиска не находит!!! короче вот :
<? Error_Reporting(E_ALL & ~E_NOTICE);
$page=file_get_contents("http://www.yandex.ru/index.html");
$y=htmlspecialchars($page);
echo $y;
echo "<br><br><hr width=100%><br>";
$res = preg_match_all("/<!-- Котировки -->(.*)<!-- \/Котировки -->/", $page, $got);
foreach($got as $i=>$t)
{
echo "$i --- $t[0] <br>";
}
echo "Найдено : ".$res;
?>
|
| |
|
|
|
|
|
|
|
для: ССС
(29.03.2006 в 07:26)
| | По моему и в ЦРБ и у других банков курсы в rss есть. Зачем издеваться над тестом то? | |
|
|
|
|
автор: cheops (из кафе) (29.03.2006 в 13:29) |
|
|
для: ССС
(29.03.2006 в 07:26)
| | Действитель, с сайта центробанка извлечь курсы валют много проще и они более точные. | |
|
|
|
|
|
|
|
для: cheops (из кафе)
(29.03.2006 в 13:29)
| | да я просто так привел в пример курсы валют!
этим самым я хотел показать как можно выдрать нужную нам инфу!!!
Помогите исправить код! | |
|
|
|
|
|
|
|
для: ZooM (ССС)
(29.03.2006 в 13:55)
| |
<?
Error_Reporting(E_ALL & ~E_NOTICE);
$page=file_get_contents("http://www.yandex.ru/index.html");
$y=htmlspecialchars($page);
echo $y;
echo "<br><br><hr width=100%><br>";
$res = preg_match_all("|<!-- Котировки -->(.*)<!-- /Котировки -->|isU", $page, $got);
foreach($got as $i=>$t)
{
echo "$i --- $t[0] <br>";
}
echo "Найдено : ".$res;
?>
|
| |
|
|
|