Для получения полного доступа
зарегистрируйтесь.
RSS

Все сниппеты с тэгом «intl»



samdark
  • Репутация: 349
  • Сниппеты: 57
  • Ревизии: 5

В PHP есть отличное расширение intl, основанное на сишной библиотеке ICU, в которой не только реализованы все алгоритмы, но и содержатся данные CLDR о различных зависимых от локали штуках вроде символов валют. Код показывает, как получить символ валюты.

Пример:

echo getCurrencySymbol('EUR');
echo getCurrencySymbol('GBP');

выведет и £.

Если указать вторым аргументом код локали, будет использовано обозначение валюты именно для этой локали:

echo getCurrencySymbol('RUR', 'ru_RU');

выведет р..

Кстати, в новых версиях CLDR уже есть символ рубля, так что как только будет релиз, можно будет обновить данные у себя и получить этот самый символ.

function getCurrencySymbol($currencyCode, $locale = 'en_US')
{
    $formatter = new \NumberFormatter($locale . '@currency=' . $currencyCode, \NumberFormatter::CURRENCY);
    return $formatter->getSymbol(\NumberFormatter::CURRENCY_SYMBOL);
}