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

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    private static $from=array('Ä','ä','Æ','æ','Ǽ','ǽ','Å','å','Ǻ','ǻ','À','Á','Â','Ã','à','á','â','ã','Ā','ā','Ă','ă','Ą','ą','Ǎ','ǎ','Ạ','Ạ','ạ','Ả','ả','Ấ','ấ','Ầ','ầ','Ẩ','ẩ','Ẫ','ẫ','Ậ','ậ','Ắ','ắ','Ằ','ằ','Ẳ','ẳ','Ẵ','ẵ','Ặ','ặ',					'Ç','ç','Ć','ć','Ĉ','ĉ','Ċ','ċ','Č','č',					'Ð','ð','Ď','ď','Đ','đ',					'È','É','Ê','Ë','è','é','ê','ë','Ē','ē','Ĕ','ĕ','Ė','ė','Ę','ę','Ě','ě','Ẹ','ẹ','Ẻ','ẻ','Ẽ','Ế','ế','Ề','ề','Ể','ể','ễ','Ệ','ệ','Ə','ə',					'ſ','ſ',					'Ĝ','ĝ','Ğ','ğ','Ġ','ġ','Ģ','ģ',					'Ĥ','ĥ','Ħ','ħ',					'Ì','Í','Î','Ï','ì','í','î','ï','Ĩ','ĩ','Ī','ī','Ĭ','ĭ','Į','į','İ','ı','Ǐ','ǐ','Ỉ','ỉ','Ị','ị',					'IJ','ij',					'fi','fl',					'Ĵ','ĵ',					'Ķ','ķ','ĸ',					'Ĺ','ĺ','Ļ','ļ','Ľ','ľ','Ŀ','ŀ','Ł','ł',					'Ñ','ñ','Ń','ń','Ņ','Ň','ň','ʼn','Ŋ','ŋ',					'Ö','ö','Ø','ø','Ǿ','ǿ','Ò','Ó','Ô','Õ','ò','ó','ô','õ','Ō','ō','Ŏ','ŏ','Ő','ő','Ǒ','ǒ','Ọ','ọ','Ỏ','ỏ','Ố','ố','Ồ','ồ','Ổ','ổ','Ỗ','ỗ','Ộ','ộ','Ớ','ớ','Ờ','ờ','Ở','ở','Ỡ','ỡ','Ợ','ợ','Ơ','ơ',					'Œ','œ',					'Ŕ','ŕ','Ŗ','ŗ','Ř','ř',					'Ś','ś','Ŝ','Ş','ş','Š','š',					'Ţ','ţ','Ť','ť','Ŧ','ŧ',					'Ü','ü','Ù','Ú','Û','ù','ú','û','Ụ','ụ','Ủ','ủ','Ứ','ứ','Ừ','ừ','Ữ','ữ','Ự','ự','Ũ','ũ','Ū','ū','Ŭ','ŭ','Ů','ů','Ű','ű','Ų','ų','Ǔ','ǔ','ǖ','ǘ','Ǚ','ǚ','Ǜ','ǜ','Ư','ư',					'Ŵ','ŵ','Ẁ','ẁ','Ẃ','ẃ','Ẅ','ẅ',					'Ý','ý','ÿ','Ŷ','ŷ','Ÿ','Ỳ','ỳ','Ỵ','ỵ','Ỷ','ỷ','Ỹ','ỹ',					'Þ','þ','ß',					'Ź','ź','Ż','ż','Ž','ž','А','Б','В','Г','Д','Е','Ё','Ж','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','У','Ф','Х','Ц','Ч','Ш','Щ','Ъ','Ы','Ь','Э','Ю','Я','а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я');
     private static $to=array('ae','ae','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a',					'c','c','c','c','c','c','c','c','c','c',					'd','d','d','d','d','d',					'e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e',					'f','f',					'g','g','g','g','g','g','g','g',					'h','h','h','h',					'i','i','i','i','i','i','i','i','i','i','i','i','i','i','i','i','i','i','i','i','i','i','i','i',					'ij','ij',					'fi','fl',					'j','j',					'k','k','k',					'l','l','l','l','l','l','l','l','l','l',					'n','n','n','n','n','n','n','n','n','n',					'oe','oe','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o',					'oe','oe',					'r','r','r','r','r','r',					's','s','s','s','s','s','s',					't','t','t','t','t','t',					'ue','ue','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u',					'w','w','w','w','w','w','w','w',					'y','y','y','y','y','y','y','y','y','y','y','y','y','y',					'th','th','ss',					'z','z','z','z','z','z','a','b','v','g','d','e','e','zh','z','i','j','k','l','m','n','o','p','r','s','t','u','f','h','ts','ch','sh','sch','','y','','e','yu','ya','a','b','v','g','d','e','e','zh','z','i','j','k','l','m','n','o','p','r','s','t','u','f','h','ts','ch','sh','sch','','y','','e','yu','ya');
     public static function translit($s,$tolower=false) {
      $s=str_replace(self::$from,self::$to,$s);
      if($tolower)	$s=strtolower($s);
      $s=preg_replace('/[^a-z0-9-_]+/i','-',$s);
      $s=trim($s,'-');
      return $s;
     }

    избавляемся от умляутов и проч.

    Запостил: Lure Of Chaos, 05 Января 2011

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

    • показать все, что скрыто>умляут
      Что это?
      Ответить
      • диакритический знак, указывающий на фонетическое явление умлаута гласных звуков в немецком и некоторых других языках.
        Обычно изображается в виде двух точек над буквой

        так-то!
        Ответить
    • Ä,ä -> ae
      Æ,æ -> a

      Или я чего-то не понимаю в PHP, или у них явно неправильные "ае".
      Ответить
    • ну и высер))
      Ответить
    • а разве там должен быть не mb_strtolower? ну и все остальные функции мультибайтные.
      Ответить
      • вообще да, но mb_string.overload=7 спасает, потому что каким то хреном пашет
        Ответить
        • Я вот думаю, может ещё в регулярку модификатор u сунуть нужно.
          Ответить
    • труд пхпшника не дорого стоит
      дешевле заставить его захардкодить все вручную

      зы: скоро труд (пхп) программиста будет дешевле машинного времени, как в 1969г
      Ответить
      • нынешний "кризис" показывает, что труд программиста чуть ли не дешевле труда строителя - впрочем, все зависит от итогов войны с работодателем
        Ответить
        • >труд программиста чуть ли не дешевле труда строителя
          Смотря какого программиста...
          Ответить
          • смотря какого строителя если узбекского то можно и поспорить
            Ответить
        • смотря что этот программист программирует
          если он делает сайты на жумле -- то лучше конечно быть строителем
          хоть на свежем воздухе целый день))

          а вот ребята из российского гугла например с Вами не согласятся)
          Ответить

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