|
|
|
| Нужно считать из этого данные например в массив, чтобы потом их все можно было прочитать.
Вот, что из себя представляет страницы, с которой нужно их выдергивать.
Сайт не чужой и за то, что с него скрипт будет читать инфу, ничего не будет, просто другого способа нет :(
<?xml version="1.0" encoding="windows-1251" ?>
- <QUOTES>
<TICKER SYMBOL="GBPUSD" BID="1.9916" ASK="1.9920" DIR="0" />
<TICKER SYMBOL="USDJPY" BID="119.94" ASK="119.97" DIR="0" />
<TICKER SYMBOL="EURUSD" BID="1.3536" ASK="1.3539" DIR="1" />
<TICKER SYMBOL="NZDJPY" BID="88.19" ASK="88.34" DIR="0" />
</QUOTES>
|
Нужно вытащить, начиная с 3-ей строки: GBPUSD, то что в BID: 1.9916, и то что в ASK: 1.9920 и также со 2-ой и третьей, все.
Помогите вопрос жизни и смерти :) | |
|
|
|
|
|
|
|
для: Na100yashyi
(09.05.2007 в 14:45)
| | Вам надо регулярным это вырезать? Есть же функции для работы с xml. | |
|
|
|
|
|
|
|
для: Бамси
(09.05.2007 в 16:05)
| | Если есть функции для работы с XML то можно и с помощью них, в конце мне будет нужно что нибудь вроде массива содержащего все эти данные, то есть:
price [0][1]=EURUSD
price [0][2]=1.3600
price [0][3]=1.3602
price [1][1]=GBPUSD
price [1][2]=2.0000
price [1][3]=2.0003
...
Если при помощи XML не получится, то думаю можно и с регулярными выражениями.
Но поймите, с ними я почти не сталкивался и как что делать не понимаю, так что посты подобные расположенному выше, от Sfinksа мне не помогут, так как я попросту не знаю куда мне эту строку воткнуть и как она может работать для извлечения ккаждой строки, а не только первой. Вообщем чайник ... | |
|
|
|
|
|
|
|
для: Na100yashyi
(09.05.2007 в 14:45)
| |
<?
preg_match_all("#<ticker symbol=\"([^\"]+)\" bid=\"([^\"]+)\" ask=\"([^\"]+)\"#i",$s,$out);
?>
|
| |
|
|
|
|
|
|
|
для: Sfinks
(09.05.2007 в 16:33)
| | Если есть функции для работы с XML то можно и с помощью них, в конце мне будет нужно что нибудь вроде массива содержащего все эти данные, то есть:
price [0][1]=EURUSD
price [0][2]=1.3600
price [0][3]=1.3602
price [1][1]=GBPUSD
price [1][2]=2.0000
price [1][3]=2.0003
...
Если при помощи XML не получится, то думаю можно и с регулярными выражениями.
Но поймите, с ними я почти не сталкивался и как что делать не понимаю, так что посты подобные расположенному выше, от Sfinksа мне не помогут, так как я попросту не знаю куда мне эту строку воткнуть и как она может работать для извлечения ккаждой строки, а не только первой. Вообщем чайник ... | |
|
|
|
|
|
|
|
для: Na100yashyi
(09.05.2007 в 17:28)
| | Именно это я тебе и написал.
$s - это переменная, содержащая страницу, из которой ты хочешь все выдернуть, а
$out - это массив, который ты хочешь получить. Только он скомпонован в виде:
$out[1][0]=EURUSD
$out[1][1]=GBPUSD
$out[2][0]=1.3600
$out[2][1]=2.0000
$out[3][0]=1.3602
$out[3][1]=2.0003
|
если тебе нужен массив в том порядке, как ты написал, то функция выглядит так:
preg_match_all("#<ticker symbol=\"([^\"]+)\" bid=\"([^\"]+)\" ask=\"([^\"]+)\"#i",$s,$out,PREG_SET_ORDER);
|
PS: Эту функцию нужно вставить сразу после того, как в переменную $s заносится код страницы. | |
|
|
|
|
|
|
|
для: Sfinks
(09.05.2007 в 17:49)
| | Благодарю Sfinks
я разобрался, все получилось так, как нужно, еще раз большое спасибо.
Если все же кто-то, разбирается в XML, то подскажите, можно ли для того чтобы выдернуть эти значения, попросту вызывать их как переменные в XML, мне почему то очень кажется что можно :) | |
|
|
|