1. PHP / Говнокод #9170

    +155

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    <?php
    function variation($name, $cache = true)
    {
        $hach = md5($name);
        //Проверяем кэш, если его нет - делаем запрос к API(JSON).
        if (!file_exists('cache/variation/' . $hach . '.cache')) {
            $c = file_get_contents('http://export.yandex.ru/inflect.xml?name=' . urlencode($name) . '&format=json');
            //Записываем кэш
            if ($cache === true) {
                file_put_contents('cache/variation/' . $hach . '.cache', $c);
            }
        }
        //Если кэш есть - берем оттуда.
        else {
            $c = file_get_contents('cache/variation/' . $hach . '.cache');
        }
        //Возвращаем массив(Функция работает только с UTF-8)
        return json_decode($c, true);
    }
    $arr = variation('Москва');
    /*
    //Переводим в cp1251(JSON).
    $arr = variation('Москва');
    //Для всего массива
    function _iconv($val)
    {
    return iconv('utf-8', 'cp1251', $val);
    }
    $arr = array_map('_iconv', $arr);
    //Или для отдельного элемента
    $arr[1] = iconv('utf-8', 'cp1251', $arr[1]);
    */
    echo 'Оригинал: ', $arr['original'], '<br/>';
    echo 'Именительный: ', $arr[1], '<br/>';
    echo 'Родительный: ', $arr[2], '<br/>';
    echo 'Дательный: ', $arr[3], '<br/>';
    echo 'Винительный: ', $arr[4], '<br/>';
    echo 'Творительный: ', $arr[5], '<br/>';
    echo 'Предложный: ', $arr[6], '<br/>';

    http://moicoding.ru/php-poleznosti/8-Yandeks-sklonyator

    Запостил: Unknown, 19 Января 2012

    Комментарии (29) RSS

    Добавить комментарий