Загрузка...

Proper endings for PHP nouns

Thread in Backend created by RaysMorgan May 5, 2016. 488 views

  1. RaysMorgan
    RaysMorgan Topic starter May 5, 2016
    Site changes
    57,582 Mar 7, 2013
    Не знаю, можно ли как-то оптимизировать данную функцию, но использую ее, писал сам

    Функция выводит слово "просмотр" в нужном падеже, аналогично можно сделать для других слов

    Code
    function goodName ($type, $value) { // Выводит существительные в нужном склонении
    if (strlen($value) > 2) {
    $value = substr($value, -2);
    if ($type == 'views') {
    if (preg_match('/^[2-4]$/', $value) OR preg_match('/^[^1][2-4]$/', $value)) {
    return 'просмотра';
    } elseif (preg_match('/^1$/', $value) OR preg_match('/^[^1]1$/', $value)) {
    return 'просмотр';
    }
    else {
    return 'просмотров';
    }
    }
    }
    else {
    if ($type == 'views') {
    if (preg_match('/^[2-4]$/', $value) OR preg_match('/^[^1][2-4]$/', $value)) {
    return 'просмотра';
    } elseif (preg_match('/^1$/', $value) OR preg_match('/^[^1]1$/', $value)) {
    return 'просмотр';
    }
    else {
    return 'просмотров';
    }
    }
    }
    }
    Использование:

    Code
    echo goodName($value);
     
Loading...