Преобразование числовой строки

allef

Новичок
Преобразование числовой строки

Скрипт преобразования валют, вот кусок:
PHP:
function getCurrency($begblock = "USD ЦБ РФ")  
{  	
    $begin = "<FONT SIZE=\"-2\">"; // фрагмент HTML-кода до полезных данных  	
    $end = "</FONT>"; // фрагмент HTML-кода после полезных данных    	 
    $screen = file("http://www.rbc.ru/index.html");    	
    $i = 0;  	  
    while ($i < sizeof($screen) && strpos($screen[$i], $begblock) == false) {$i++;}  	
     $temp = explode($begin, $screen[$i + 2]);  	
     $temp = explode($end, $temp[1]);    	

     return $temp[0];  
}    

$price = 100;   
$dollar = getCurrency();   

if ($dollar <> "")  
{       
    $body_txt     = "<b>Курс ЦБ</b> ";      
    $body_txt    .= "<br />";         
    $body_txt    .= "Доллар: ".$dollar." р";       
    $price /= $dollar; // division by zero!                
}
Выводится ошибка деления на 0 на строке $price /= $dollar;. Пробовал преобразовывать $dollar через settype(), floatval(), (float), $foo = 0.0 + $dollar, разбивал explode() и конвертировал. Ничего не помогает, gettype($dollar) выводит - string.

Мое phpinfo()
 

hermit_refined

Отшельник
Если работает отлично - откуда тогда деление на ноль? ;-)
Нормальный способ получения курса валют - http://www.cbr.ru/scripts/Root.asp?Prtid=SXML

P.S. При этом - данные надо запрашивать только раз в день и кешировать.
 

allef

Новичок
Автор оригинала: hermit_refined
Если работает отлично - откуда тогда деление на ноль? ;-)
Нормальный способ получения курса валют - http://www.cbr.ru/scripts/Root.asp?Prtid=SXML
Спасибо за ссылку, обязательно использую, если свой вариант не заработает. В любом случае мне придется обрабатывать стринговую переменную, поэтому и хочу понять почему у меня деление на 0. echo $dollar -выводит коректное значение.
 

sakon

П..и.н..ок
>echo $dollar -выводит коректное значение
Ничего подобного & nbsp;26.6195 явно некорректное значение
 

hermit_refined

Отшельник
Почитайте про преобразование строк в мануале.
И ещё раз - брать курсы надо только с cbr.ru, указанным законным способом.
 

allef

Новичок
Да, вариант с cbr.ru единственно верный, его и буду использовать. Ещё раз большое спасибо.
 
Сверху