(?P[0-9.]+)\s+'.preg_quote($to, '/').'\s*\<\/span\>/i'; $endpoint = 'http://www.google.com/finance/converter?a='.urlencode($a).'&from='.urlencode($from).'&to='.urlencode($to); $prefix = 's2m_cur'; // Transient prefix. $transient = $prefix.md5('s2member_cur_convert_'.$endpoint); if(!($response = get_transient($transient))) { $response = c_ws_plugin__s2member_utils_urls::remote($endpoint); set_transient($transient, $response, DAY_IN_SECONDS / 2); } if($response && preg_match($regex, $response, $m)) return number_format((float)$m['conversion'], 2, '.', ''); } return ''; // Default return value. } /** * Converts Currency Codes to Currency Symbols. * * Defaults to the `$` dollar sign. * * @package s2Member\Utilities * @since 110531 * * @param string $currency Expects a 3 character Currency Code. * * @return string A Currency Symbol. Defaults to the `$` sign. */ public static function symbol($currency = '') { $symbols['AUD'] = '$'; // Australian Dollar $symbols['BRL'] = 'R$'; // Brazilian Real $symbols['CAD'] = '$'; // Canadian Dollar $symbols['CZK'] = 'Kč'; // Czech Koruna $symbols['DKK'] = 'kr'; // Danish Krone $symbols['EUR'] = '€'; // Euro $symbols['HKD'] = '$'; // Hong Kong Dollar $symbols['HUF'] = 'Ft'; // Hungarian Forint $symbols['ILS'] = '₪'; // Israeli New Sheqel $symbols['INR'] = 'Rs'; // Indian Rupee $symbols['JPY'] = '¥'; // Japanese Yen $symbols['MYR'] = 'RM'; // Malaysian Ringgit $symbols['MXN'] = '$'; // Mexican Peso $symbols['NOK'] = 'kr'; // Norwegian Krone $symbols['NZD'] = '$'; // New Zealand Dollar $symbols['PHP'] = 'Php'; // Philippine Peso $symbols['PLN'] = 'zł'; // Polish Zloty $symbols['GBP'] = '£'; // Pound Sterling $symbols['SGD'] = '$'; // Singapore Dollar $symbols['SEK'] = 'kr'; // Swedish Krona $symbols['CHF'] = 'CHF'; // Swiss Franc $symbols['TWD'] = 'NT$'; // Taiwan New Dollar $symbols['THB'] = '฿'; // Thai Baht $symbols['USD'] = '$'; // U.S. Dollar if(($currency = strtoupper($currency)) && !empty($symbols[$currency])) return $symbols[$currency]; return '$'; // Else `$` sign (default value). } } }