Показать сообщение отдельно
Старый 31.10.2010, 00:07   #2
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

Напомнило «каждому символу — по домику».

Тег php кривой, потому без подсветки:
Код:
$str = 'На Вашем счёте {@рубль;рубля;рублей;5}.';
// Создает callback-функцию, обрабатывающую каждое попадание конструкции {@a;b;c;[d;[e;...]];x}
$callback = function ($matches)
{
	$words = explode(';', $matches[1]); // Разделяем a;b;c на array(a, b, c)
	$n = $matches[2]; // Число x
	// Взято на просторах этого вашего интернета
	return $n.' '.$words[$n%10==1&&$n%100!=11?0:($n%10>=2&&$n%10<=4&&($n%100<10||$n%100>=20)?1:2)];
};
echo preg_replace_callback('/{@([^}]+);(\d+)}/', $callback, $str);
LordJZ вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Hantet (31.10.2010)