public static function parseMoneyFromString($string, $occurences = 0) { $results = []; $currencies = currency::getExistingCurrencies(); foreach ($currencies as $currencyName => $currency) { $currency['leftSymbol'] = isset($currency['leftSymbol']) ? '\\' . $currency['leftSymbol'] : ''; $currency['rightSymbol'] = isset($currency['rightSymbol']) ? '\\' . $currency['rightSymbol'] : ''; $pattern = '|' . $currency['leftSymbol'] . '([\\ ]*)([0-9]{1,8})([\\.\\,]?)([0-9]{0,3})([\\ ]*)' . $currency['rightSymbol'] . '|Si'; preg_match_all($pattern, $string, $matches); $matches = array_filter($matches); if (count($matches) > 1) { $results[] = $matches; } } return $results; }