[^E]EUR[^E]*EURcashBy\"[^\d]*(\d{2}[^*]\d{0,2})[^E]*EUR[^E]*EURcashSell\"[^\d]*(\d{2}[^*]\d{0,2})
результат 28.7 29.7 41< 42.2
когда появляется десятая доля, появляется точка и срабатывает все нормально
Спустя 4 часа, 23 минуты, 16 секунд (14.08.2011 - 00:33) qaz333 написал(а):
обьясни где там цены курсов валют, я ненашол, или лутше просто покажи кусок кода который хочеш спарсить
Спустя 20 минут, 53 секунды (14.08.2011 - 00:54) kirik написал(а):
vik1249
У них ведь есть отдельно курсы (_http://www.alfabank.ru/_/rss/_currency.html). Правда криво сделано, но оттуда парсить по-проще будет, мне кажется. Да и каждый раз будешь грузить на 50кб (главная страница), а 5кб (рсс).
У них ведь есть отдельно курсы (_http://www.alfabank.ru/_/rss/_currency.html). Правда криво сделано, но оттуда парсить по-проще будет, мне кажется. Да и каждый раз будешь грузить на 50кб (главная страница), а 5кб (рсс).
Спустя 1 день, 15 часов, 59 минут, 55 секунд (15.08.2011 - 16:54) vik1249 написал(а):
Цитата (qaz333 @ 13.08.2011 - 21:33) |
обьясни где там цены курсов валют, я ненашол, или лутше просто покажи кусок кода который хочеш спарсить |
<td style="text-align: left; vertical-align: middle;"></td></tr><tr><td class="currency">EUR</td><td style="text-align: left; width: 2em; padding-right: 0px;" id="EURcashBy">41</td><td style="text-align: left; vertical-align: middle;"></td><td style="text-align: left; width: 2em; padding-right: 0px;" id="EURcashSell">42,2</td>
вот значение сейчас 41 следовательно не срабатывает тк нет десятичной запитой и в итоге получается результа 41<
Спустя 2 минуты, 16 секунд (15.08.2011 - 16:56) neadekvat написал(а):
vik1249, а пост kirik'a ты успешно проигнорировал?
Спустя 2 минуты, 36 секунд (15.08.2011 - 16:59) vik1249 написал(а):
Цитата (neadekvat @ 15.08.2011 - 13:56) |
vik1249, а пост kirik'a ты успешно проигнорировал? |
вопрос был не в том откуда парсить а как сделать нормальное отображение если нет десятичной точки
Спустя 3 минуты, 29 секунд (15.08.2011 - 17:02) neadekvat написал(а):
Цитата (vik1249 @ 15.08.2011 - 17:59) |
вопрос был не в том откуда парсить а как сделать нормальное отображение если нет десятичной точки |
Ах, извините, Ваше Величество, что мы осмелились усомнится в целесообразности выбранного Вами пути и, о Боги, посмели предложить более рациональный вариант. Клятвенно клянусь за себя и за kirik'a впредь так не делать.
Спустя 11 минут, 11 секунд (15.08.2011 - 17:13) vik1249 написал(а):
Цитата (neadekvat @ 15.08.2011 - 14:02) |
Ах, извините, Ваше Величество, что мы осмелились усомнится в целесообразности выбранного Вами пути и, о Боги, посмели предложить более рациональный вариант. Клятвенно клянусь за себя и за kirik'a впредь так не делать. |
Зачем ВЫ так пишете? я же нормально попросил помощи, по поводу kirik'a, могу сказать одно то что он прав в rss проще и меньше объем страницы, но проблема от этого не решится
Спустя 4 минуты, 54 секунды (15.08.2011 - 17:18) neadekvat написал(а):
$text = '<td style="text-align: left; vertical-align: middle;"></td></tr>
<tr><td class="currency">EUR</td>
<td style="text-align: left; width: 2em; padding-right: 0px;" id="EURcashBy">41</td>
<td style="text-align: left; vertical-align: middle;"></td>
<td style="text-align: left; width: 2em; padding-right: 0px;" id="EURcashSell">42,2</td>';
preg_match_all('#id="(?:EURcashBy|EURcashSell)">([\d,]{2,4})#', $text, $out);
print_r($out[1]); // Array ( [0] => 41 [1] => 42,2 )
Спустя 32 минуты, 44 секунды (15.08.2011 - 17:51) vik1249 написал(а):
Цитата (neadekvat @ 15.08.2011 - 14:18) |
$text = '<td style="text-align: left; vertical-align: middle;"></td></tr> |
спасибо за ответ, теперь другая проблема
Array ( [0] => 41 [1] => 42 ) а должно быть 42,2
Спустя 13 минут, 56 секунд (15.08.2011 - 18:05) neadekvat написал(а):
А у меня 42,2 показывает.
Попробуй так:
Попробуй так:
preg_match_all('#id="(?:EURcashBy|EURcashSell)">([^<]+)#', $text, $out);
Спустя 8 минут, 4 секунды (15.08.2011 - 18:13) vik1249 написал(а):
Цитата (neadekvat @ 15.08.2011 - 15:05) |
А у меня 42,2 показывает. Попробуй так: preg_match_all('#id="(?:EURcashBy|EURcashSell)">([^<]+)#', $text, $out); |
ага ок работает спасибо, я сам так пробывал тока плюс забыл поставить