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

    +166

    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
    function toup($str) {
    #перевод в верхний регистр (просто strtoupper не всегда корректно работает с русскими буквами)
    $str=strtoupper($str);
    $str=str_replace("а","А",$str);$str=str_replace("б","Б",$str);$str=str_replace("в","В",$str);
    $str=str_replace("г","Г",$str);$str=str_replace("д","Д",$str);$str=str_replace("е","Е",$str);
    $str=str_replace("ж","Ж",$str);$str=str_replace("з","З",$str);$str=str_replace("и","И",$str);$str=str_replace("й","Й",$str);
    $str=str_replace("к","К",$str);$str=str_replace("л","Л",$str);$str=str_replace("м","М",$str);
    $str=str_replace("н","Н",$str);$str=str_replace("о","О",$str);$str=str_replace("п","П",$str);
    $str=str_replace("р","Р",$str);$str=str_replace("с","С",$str);$str=str_replace("т","Т",$str);
    $str=str_replace("у","У",$str);$str=str_replace("ф","Ф",$str);$str=str_replace("х","Х",$str);
    $str=str_replace("ц","Ц",$str);$str=str_replace("ч","Ч",$str);$str=str_replace("ш","Ш",$str);
    $str=str_replace("щ","Щ",$str);$str=str_replace("ъ","Ъ",$str);$str=str_replace("ы","Ы",$str);
    $str=str_replace("ь","Ь",$str);$str=str_replace("э","Э",$str);$str=str_replace("ю","Ю",$str);
    $str=str_replace("я","Я",$str);
    return $str;}
    
    function tolower($str) {
    #перевод в нижний регистр (просто strtolower не всегда корректно работает с русскими буквами)
    $str=strtolower($str);
    $str=str_replace("А","а",$str);$str=str_replace("Б","б",$str);$str=str_replace("В","в",$str);
    $str=str_replace("Г","г",$str);$str=str_replace("Д","д",$str);$str=str_replace("Е","е",$str);
    $str=str_replace("Ж","ж",$str);$str=str_replace("З","з",$str);$str=str_replace("И","и",$str);$str=str_replace("Й","й",$str);
    $str=str_replace("К","к",$str);$str=str_replace("Л","л",$str);$str=str_replace("М","м",$str);
    $str=str_replace("Н","н",$str);$str=str_replace("О","о",$str);$str=str_replace("П","п",$str);
    $str=str_replace("Р","р",$str);$str=str_replace("С","с",$str);$str=str_replace("Т","т",$str);
    $str=str_replace("У","у",$str);$str=str_replace("Ф","ф",$str);$str=str_replace("Х","х",$str);
    $str=str_replace("Ц","ц",$str);$str=str_replace("Ч","ч",$str);$str=str_replace("Ш","ш",$str);
    $str=str_replace("Щ","щ",$str);$str=str_replace("Ъ","ъ",$str);$str=str_replace("Ы","ы",$str);
    $str=str_replace("Ь","ь",$str);$str=str_replace("Э","э",$str);$str=str_replace("Ю","ю",$str);
    $str=str_replace("Я","я",$str);
    return $str;}

    Еще 2 шикарные функции, того же автора, что и в предыдущем моем посте.
    про setlocale никто и не слыхивал.

    Запостил: Mihard, 03 Августа 2010

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

    • А есть еще UTF-8, mb_strtoupper() и mb_strtolower();
      Ответить
      • ну.. эти функции не только для UTF-8.
        и кириллица есть же ещё в CP1251, например.
        Ответить
    • Ну уж если на то пошло, то не лучше было бы использовать один раз ф-ю strtr() вместо стопицот str_replace()?!?!
      Ответить
    • когда то давно эта функция имела смысл ) когда кодировки, отличные от анси, были невидалью для пхп
      Ответить
    • А это, случайно, не из одной известной wap cms от вантуза?) Видел там подобные высеры.
      Ответить
      • http://visavi.net/load/zip.php?act=preview&id=988&view=854&star t=840&
        //------------------ Функция преобразования в нижний регистр для UTF ------------------// 
        function rus_utf_tolower($str){ 
        
        if (function_exists('mb_strtolower')) return mb_strtolower($str, 'utf-8'); 
        
        $arraytolower = array( 'А'=>'а','Б'=>'б','В'=>'в','Г'=>'г','Д'=>'д','Е'=>'е','Ё'=>'ё','Ж'=>'ж','З'=>'з','И'=>'и','Й'=>'й','К'=>'к','Л'=>'л','М'=>'м','Н'=>'н','О'=>'о','П'=>'п','Р'=>'р','С'=>'с','Т'=>'т','У'=>'у','Ф'=>'ф','Х'=>'х','Ц'=>'ц','Ч'=>'ч','Ш'=>'ш','Щ'=>'щ','Ь'=>'ь','Ъ'=>'ъ','Ы'=>'ы','Э'=>'э','Ю'=>'ю','Я'=>'я', 
        'A'=>'a','B'=>'b','C'=>'c','D'=>'d','E'=>'e','I'=>'i','F'=>'f','G'=>'g','H'=>'h','J'=>'j','K'=>'k','L'=>'l','M'=>'m','N'=>'n','O'=>'o','P'=>'p','Q'=>'q','R'=>'r','S'=>'s','T'=>'t','U'=>'u','V'=>'v','W'=>'w','X'=>'x','Y'=>'y','Z'=>'z'); 
        
        return strtr($str, $arraytolower);  
        }
        Ответить
    • ф школу
      Ответить
    • Ну чиста для прикола, чтобы коректно работала надо всего лишь навсего выставить нужную локаль методом setlocale и сразу начинает правильно работать.
      Ответить
      • самое смешное, что и ЭТО работает ) правда, молчим, через какое место )
        Ответить
    • Блин, до чего стебно он забыл про Й в начале, видно лень было все переразбивать на строки, вставил не палясь.
      Ответить

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