I am importing a file which has amount with different currency signs
£12.10
$26.13
€12.50
I need to import and convert this into single currency. I am splitting the string as follows
$parts = split(' ', preg_replace("/([0-9])/", ' ${1}', $amount, 1));
Couldn’t make preg_split work with PREG_SPLIT_DELIM_CAPTURE
$parts = preg_split("/\d/", $amount, 2, PREG_SPLIT_DELIM_CAPTURE);
I have an array of currency sign to currency code
$currencySymbols = array('£'=>'GBP', '$'=>'USD','€'=>'EUR')
I need to
1. split the string into currency sign and value – if there is a better way then what i am doing
2. map the currency sign to currency code. Not able to map with $currencySymbols[$parts[0]]
Any help will be appreciated. (PHP 5.2.6) using charset=utf-8
Many thanks
You should probably use the NumberFormatter::parseCurrency to do this instead of regular string manipulation.
Although most of the time the currency symbol will come before the numeric value, there are some European countries where the currency symbol is written last.