Har haft många järn i elden den senaste tiden, därav dålig uppdateringsfrekvens på bloggen. Bättring lovas framöver! Ett hobbyprojekt jag ägnat mig åt lite på senaste tiden behövde en enkel och pålitlig funktion för att omvandla värdet mellan valutor. Det finns gott om kommersiella API:er som gör detta, och ska funktionen användas i professionella sammanhang är det nog där man ska leta, men för detta hobbyprojekt fungerade det utmärkt att anropa Googles valutakalkylator. Funktionen ser ut som följer:

/**
 * Use currency converter from Google to convert between currencies
 * Usage: currencyConvert(1, "USD", "SEK")
 * Uses str_replace to convert into parsable json
 * Returns value, i.e. "6.55420823" as a string
 */
function currencyConvert($amount, $from, $to) {
	$query	= 'http://www.google.com/ig/calculator?q='.$amount.$from.'=?'.$to;
	$curr 	= file_get_contents($query);
	$wrong	= array('lhs','rhs','error','icc');
	$right	= array('"lhs"','"rhs"','"error"','"icc"');
	$arr	= json_decode(str_replace($wrong, $right, $curr), true);
	return strstr($arr['rhs'], ' ', true);
}

echo currencyConvert(1, "USD", "SEK");

Funktionen tar som första argument beloppet som ska beräknas följt av valutan som ska omvandlas från och sedan valutan som ska omvandlas till. Dessa valutor skriv i tre bokstäver enligt standarden för valutorkoder. Funktionen rensar sedan upp i responssträngen och returnerar slutligen endast beloppet i den nya valutan.

Kommentera