Zacznijmy od prostego kawałek kodu do formatowania pieniądze z NumberFormatter
:Get symbol waluty w PHP
$formatter = new NumberFormatter('en_US', NumberFormatter::CURRENCY);
echo $formatter->formatCurrency(123456789, 'JPY');
Drukuje: ¥123,456,789
.
Jest to ok, jeśli chcesz sformatować pieniądze.
Ale chcę uzyskać symbol waluty (np. ¥) dla danej waluty kod ISO 4217 (np. JPY).
Moje pierwsze przypuszczenie było spróbować użyć:
$formatter->getSymbol(NumberFormatter::CURRENCY_SYMBOL);
Ale to daje symbol waluty dla danej lokalizacji w konstruktorze (pl), $ w moim przypadku.
Czy istnieje sposób na uzyskanie symbolu waluty według kodu ISO 4217 w języku PHP?
Problem polega na tym, że symbol waluty może pojawić się przed lub po numerze. Do czego używasz tego symbolu? –
Po prostu wykonaj wyrażenie regularne dla wszystkiego, co nie jest cyfrĘ ... ani przecinkiem. Coś jak '/ [^ 0-9,] * /'. – rmobis
Niektóre symbole będą wielobajtowe, więc proste wyszukiwanie ciągów nie zadziała zbyt dobrze. –