26 ноября 2009, 23:59

Сколько баблишка?

Валюта в международном формате Возможные вариации Результат
RUR рублей, руб., RUR, RUB, rubles, р. рублей
UAH гривен, гр. UAH, грн., гривен
EUR евро, евр., просто значок € перед или после цены, EUR, Euro, Evro (обрабатываем опечатки) евро
USD значок $, USD, долларов, у.е., зелёных :), dollar*, долар (опечатки) долларов США
<?php
/*************************************************************
* Функция определения валюты из строк вида "1000 рублей", "10 USD" и т. п.
* На входе строка, на выходе код валюты (RUR, USD, UAH, EUR)
* или false, если не удалось определить. 
* Также false выйдет если определилось несколько валют в строке.
* Автор функции - BrokenBrake.biz
*************************************************************/
function currencer($str)
{
	$pattern['RUR'] = "/[^гГuU][рРRr][Уу\.uU]/u";
	$pattern['USD'] = "/\\\$|[UuдД][sSnNоО]|[уУ][\.\s]*[еЕ]|[зЗ][еЕ]|[бБ][аА][кК][сС]/u";
	$pattern['EUR'] = "/€|[eEЕе][UuВвvV]/u";
	$pattern['UAH'] = "/[гГUu][AaрР]/u";
	
	foreach ($pattern as $key => $val)
	{
		if (preg_match($val, $str)) $currency[] = $key;
	}
	if (isset($currency[1]) OR !isset($currency[0]))return false;
	else return $currency[0];
} // echo currencer('1000 зелёных')
?>


3 комментария РСС

Тормоз
Ну вот, видишь, говорят что $20 :) Хех.
Тормоз
Ну вот, снова недружелюбная форма, которая ничего не говорит о том, ушло моё сообщение или нет. Ай-я-яй. Беда!
Vitaliy Bogdanets
Она дружелюбная, просто скромная ;)
Забываю поставить ответ, что мол сообщение появится только после премодерации :)
CTAPbIu_MABP
а модификатор i больше не в моде?
Vitaliy Bogdanets
По требованию он всегда готов идти в бой ;)

Ваш комментарий

адрес не будет опубликован

ХТМЛ не работает


Ctrl + Enter