<?
function sklonit($text) {
$RE=<<< HEREDOC
(?:
\\[
(\\d++)(?=:)
|
(\\d++)
\\[
(?!\\d+:)([^:]*?)
)
:
([^\\]\\(]+?)
\\(
([^\\],]*?)
,
([^\\],]*?)
,
([^\\],]*?)
\\)
\\]
HEREDOC;
$clb=function ($match){
$cases= Array (2, 0, 1, 1, 1, 2); $titles= Array($match[5], $match[6], $match[7]); $num=(int) $match[1]?$match[1]:$match[2];
return ($match[1]?
"":$match[2].$match[3]).$match[4].$titles[($num%100>4 && $num%100<20)?
2 : $cases[min($num%10, 5)]]; };
};
echo sklonit($text);
?>
PD8KZnVuY3Rpb24gc2tsb25pdCgkdGV4dCkgewogICAgJFJFPTw8PCBIRVJFRE9DCiAgICAgICAgKD86CiAgICAgICAgICAgIFxcWwogICAgICAgICAgICAoXFxkKyspKD89OikKICAgICAgICAgICAgfAogICAgICAgICAgICAoXFxkKyspCiAgICAgICAgICAgIFxcWwogICAgICAgICAgICAoPyFcXGQrOikoW146XSo/KQogICAgICAgICkKICAgICAgICAKICAgICAgICAgICAgOgogICAgICAgICAgICAoW15cXF1cXChdKz8pCiAgICAgICAgICAgIFxcKAogICAgICAgICAgICAgICAgKFteXFxdLF0qPykKICAgICAgICAgICAgICAgICwKICAgICAgICAgICAgICAgIChbXlxcXSxdKj8pCiAgICAgICAgICAgICAgICAsCiAgICAgICAgICAgICAgICAoW15cXF0sXSo/KQogICAgICAgICAgICBcXCkKICAgICAgICBcXF0KSEVSRURPQzsKICAgICRjbGI9ZnVuY3Rpb24gKCRtYXRjaCl7CiAgICAgICAgJGNhc2VzPSBBcnJheSAoMiwgMCwgMSwgMSwgMSwgMik7CiAgICAgICAgJHRpdGxlcz0gQXJyYXkoJG1hdGNoWzVdLCAkbWF0Y2hbNl0sICRtYXRjaFs3XSk7CiAgICAgICAgJG51bT0oaW50KSAkbWF0Y2hbMV0/JG1hdGNoWzFdOiRtYXRjaFsyXTsKICAgICAgICByZXR1cm4gKCRtYXRjaFsxXT8iIjokbWF0Y2hbMl0uJG1hdGNoWzNdKS4kbWF0Y2hbNF0uJHRpdGxlc1soJG51bSUxMDA+NCAmJiAkbnVtJTEwMDwyMCk/IDIgOiAkY2FzZXNbbWluKCRudW0lMTAsIDUpXV07CiAgICB9OwogICAgcmV0dXJuIHByZWdfcmVwbGFjZV9jYWxsYmFjaygiLyRSRS94U3UiLCAkY2xiLCAkdGV4dCk7Cn07CgokdGV4dD0gZmlsZV9nZXRfY29udGVudHMoInBocDovL3N0ZGluIik7CmVjaG8gc2tsb25pdCgkdGV4dCk7Cj8+
0KMg0JLQsNGB0Lgg0LHRi9C70L4gNSBbNTrRj9Cx0LvQvtC6KNC+LNCwLCldLCDQsCDRgyDQotCw0L3QuCAxMSBbMTE60LPRgNGD0Ygo0LAs0LgsKV0uINCYINCy0L7RgiDQttC1INC00LjQu9C10LzQsC0g0LrQsNC6INGN0YLQuCBbMjrQsdC+0LPQsNGC0YHRgtCyKNC+LNCwLCldINC/0L7QtNC10LvQuNGC0Ywg0L3QsCAxMDUgWzEwNTrQvdC10LPRgNC40YIo0LXQvdC+0Los0L3QutCwLNGP0YIpXSA/
У Васи было 5 [5:яблок(о,а,)], а у Тани 11 [11:груш(а,и,)]. И вот же дилема- как эти [2:богатств(о,а,)] поделить на 105 [105:негрит(енок,нка,ят)] ?