"PHP" / Говнокод #3860 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 Mihard, (Updated )

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

    • ну.. эти функции не только для 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 и сразу начинает правильно работать.
    Ответить
    • самое смешное, что и ЭТО работает ) правда, молчим, через какое место )
      Ответить
  • Блин, до чего стебно он забыл про Й в начале, видно лень было все переразбивать на строки, вставил не палясь.
    Ответить

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

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

    А не использовать ли нам bbcode?


    8