我在这里的一行代码中收到错误:
$converted = preg_replace("/[^0-9.]/", "", $converted[1]);
有人知道是什么原因引起的吗?
public function convertCurrency($amount, $from, $to) {
$url = "https://www.google.com/finance/converter?a=$amount&from=$from&to=$to";
$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);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
$rawdata = curl_exec($ch);
if ($rawdata === FALSE) {
echo "cURL Error: " . curl_error($ch);
} else {
preg_match("/<span class=bld>(.*)<\/span>/", $rawdata, $converted);
$converted = preg_replace("/[^0-9.]/", "", $converted[1]);
return number_format(round($converted, 3), 2);
}
curl_close($ch);
}
答案 0 :(得分:0)
代码是正确的。 Google现在在表单中有隐藏的输入。 输入是动态的,每次都会改变。 这是错误的。 感谢您查看此问题。