06 декабря 2010

Склонение имени по падежу

Функция для автоматического склонения имени по падежу. Синтаксис функции:
_pad('имя пользователя', 'падеж' [r - родительный, d - дательный, t - творительный], 'слово или фраза перед склоняемым именем' [не обязательный аргумент]);


function _pad($un, $pad, $val){
    $uns=str_split($un);
    $c=count($uns)-1;
    switch ($pad){
        case "r":
        if($uns[$c]=='а'||$uns[$c]=='я'){;
            unset($uns[$c]);
            $unpad=implode("", $uns)."и";
        }else{$unpad=$un."a";}
        break;
        case "d":
        if($uns[$c]=='а' or $uns[$c]=='я'){
            unset($uns[$c]);               
            $unpad=implode("", $uns)."е";
        }else{$unpad=$un."у";}
        break;
        case "t":
        if($uns[$c]=='а' or $uns[$c]=='я'){
            unset($uns[$c]);               
            $unpad=implode("", $uns)."ей";
        }else{$unpad=$un."ом";}
        break;           
    }
    $ans=(!empty($val))?$val." ".$unpad:$unpad;
    echo $ans;
}

Комментариев нет:

Отправить комментарий

Лучшие сообщения