Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

IndioBAIANO

[Resolvido] Error - PHP Cotação Dólar

Recommended Posts

Olá a todos,

 

Estou tendo um problema num arquivo PHP,

estou utilizando ele pra retirar a cotação do dolar no site de economia da uol.

 

Aparentemente quando eu uso pra exibir o valor em texto fica tudo certo,

mas quando eu utilizo para exibir dentro de um input text, surge um "</td>" ao final do valor.

 

<?php

if (!$fp = fopen("http://economia.uol.com.br/", "r")) {
    echo "Erro ao abrir a página de cotação";
    exit;
}

$dolar = 0;
while (!feof($fp)) {
    $linha = fgets($fp);
    
    if (ereg("Comercial", $linha)) {
        $dolar = ereg_replace("^.*>R.", "", $linha);
        $dolar_exibicao = "R$ ".ereg_replace("<.*$", "", $dolar);
    }
}
fclose($fp);

$dolarvalor = str_ireplace(",", ".", $dolar);


echo "$dolarvalor<br />";
echo "<input type=\"text\" value=\"$dolarvalor\" /><br />";
echo "$dolar_exibicao<br />";
echo "<input type=\"text\" value=\"$dolar_exibicao\" /><br />";

?>

Por que está surgindo esse fechamento de tag ao fim do valor, em nenhum momento utilizei tags para table.

 

Agradeço desde já a quem puder me ajudar.

 

Abraços

 

Agred

Compartilhar este post


Link para o post
Compartilhar em outros sites

ele ja esta vindo do site assim com a tag html

 

 

 

adicione isso e veja:

<?php

if (!$fp = fopen("http://economia.uol.com.br/", "r")) {
    echo "Erro ao abrir a página de cotação";
    exit;
}

$dolar = 0;
while (!feof($fp)) {
    $linha = fgets($fp);
    
    if (ereg("Comercial", $linha)) {
       //a linha que você esta pegando do html
        echo $linha;
        exit();


        $dolar = ereg_replace("^.*>R.", "", $linha);
        $dolar_exibicao = "R$ ".ereg_replace("<.*$", "", $dolar);
    }
}
fclose($fp);

 

 

 

para arrumar so remover as tags

$dolar_exibicao = strip_tags($dolar_exibicao);

outra coisa nao procure somente por comercial... pq em um site de economia a ocorrencia comercial vai aparecer muitas vezes

Compartilhar este post


Link para o post
Compartilhar em outros sites

obrigado goruks,

 

uma outra duvida, eu gostaria de acrescentar o valor de 0.155 antes do resultado,

 

como posso fazer isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como assim??? você quer somar 0.155 ao valor?

 

Se for, transforme ele numa string em formato de número (sem caracteres, apenas números e o ponto) e some normalmente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.