所以,我尝试过使用trim和str_replace,我只是想不出来。我用Google搜索了,似乎没有任何效果。
这是我的代码:
function convertcurrency($euro){
if (is_numeric($euro)) {
$currency = file_get_contents("http://www.google.com/ig/calculator?hl=en&q=".$euro."EUR%3D%3FUSD");
$contents = array_map('trim', explode(" ", $currency));
$getint = array_map('trim', explode("\"", $contents[3]));
unset($getint[0]);
$usdollar = implode(" ", $getint);
echo "$euro Euro's is equal to $usdollar U.S. Dollars";
}
else{
echo "$euro is not a number, please enter a number.";
}
}
convertcurrency(123123);
?>
谢谢!
编辑:
我道歉,我应该发布我的输出和预期输出。
产出:123123欧元等于162 362.3美元 预期产出:123123欧元等于162362.3美元
一旦我摆脱了空白,我就可以使用money_format函数来正确显示它。
答案 0 :(得分:1)
您需要使用正则表达式来替换所有文本。
$string = preg_replace('/[\s]*/', '', $needle);
那应该适合你。
答案 1 :(得分:1)
执行json_decode而不是爆炸数据会更容易,特别是当你有空格时,这在所有情况下都不起作用。使用json_decode代替爆炸。
答案 2 :(得分:1)
这是谷歌货币转换器的问题。尝试使用此代码替换货币之间的空白区域:
$currency = preg_replace('/[^a-z0-9.]/', '', $currency);
希望这可以帮助你:)