このURLはhttp://www.google.com/ig/calculator?hl=fr&q=150euro=?dirhamsです。通貨換算が可能です。削除 " " in PHP
これが結果です:{lhs: "150 Euros",rhs: "1 691.50299 Moroccan dirhams",error: "",icc: true}
私は、JSONのように見えるこの結果で動作するようにしてみてください。 だからjson_decode
を使用しますが、動作しません。
私はserilize/unserializeのように見えたので、私はunserialize
を使用しますが、動作しません。
Nervous、私はregexpを使いました。最後には、値がで、私はディラハムで自分の価値を持っています。
そしてこれは
私はそれを削除することはできません!私はpreg_replace、str_replaceを試してみてください...方法はありません!
これは機能
である私はちょうどfloatとして
誰もが私を助けることができる、「ディルハム値」、数字のみを取得したいですか?
public function convertDirhams($prix, $monnaie_base = 'euro', $monnaie_convert = 'dirhams')
{
$prix = urlencode($prix);
$monnaie_base = urlencode($monnaie_base);
$monnaie_convert = urlencode($monnaie_convert);
$url = "http://www.google.com/ig/calculator?hl=fr&q=$prix$monnaie_base=?$monnaie_convert";
$ch = curl_init();
$timeout = 0;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT , "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)");
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$rawdata = curl_exec($ch);
curl_close($ch);
/*$data = explode('"', $rawdata);
$data = explode(' ', $data['3']);
$var = $data['0'];*/
$data = preg_replace('/ /','',$rawdata);
$data = explode(':',$data);
$data = preg_replace('/"/','',$data[2]);
$data = preg_replace('/Moroccandirhams,error/isu','',$data);
$prix_final = preg_replace("/&#?[a-z0-9]{2,8};/i","",$data);
//echo $prix_final;
return (float)trim($data);
}
json_decodeについて「動作しません」とは何ですか? (このコードには ' 'がないので、ここではそれが問題になるとは思っていません) –
http://php.net/manual/en/function.html-entity-decode.phpを試してください – user956584
@BillyONealと同じですが、 'json_decode()'が動作するはずです。どのようなエラーメッセージ/結果がありますか? –