0

このURLの応答を取得したいとします。

http://www.google.com/ig/calculator?hl=en&q=100USD%3D%3FEUR

これは:

{lhs: "100米ドル"、rhs: "79.3839803ユーロ"、エラー: ""、icc:true}

次に、rhs値を取得します。

PHPでこれを簡単に実現するにはどうすればよいですか?

4

3 に答える 3

1
echo file_get_contents('http://www.google.com/ig/calculator?hl=en&q=100USD%3D%3FEUR');
// {lhs: "100 U.S. dollars",rhs: "79.3839803 Euros",error: "",icc: true}
于 2012-06-07T18:52:40.543 に答える
1

有効な JSON が返されないため、簡単な方法は、文字列を修正して (有効な JSON にする)、デコードすることです。

何かのようなもの:

<?php
    $output = file_get_contents('http://www.google.com/ig/calculator?hl=en&q=100USD%3D%3FEUR');
    $output = str_replace('rhs','"rhs"',$output);
    $output = str_replace('lhs','"lhs"',$output);
    $output = str_replace('error','"error"',$output);
    $output = str_replace('icc','"icc"',$output);

    $json = json_decode($output);
    $rhs = $json->rhs;
?>
于 2012-06-07T19:07:49.057 に答える
0
<?php
    $resp=file_get_contents('http://www.google.com/ig/calculator?hl=en&q=100USD%3D%3FEUR');
    $pos=strpos($resp,'rhs:')+6;
    $pos2=strpos($resp,'"',$pos);
    $euros=substr($resp,$pos,$pos2-$pos);
?>
于 2012-06-07T18:59:51.107 に答える