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

    +157

    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
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    ................
    		
    
    	$this->vkey = substr(md5($this->id),13,20); 
    			$this->vname = $vname;
    			$descr=$this->vtitle;
    			if ($descr)
    			{
    				$var=$descr;
    				$temp_max=200;
    		$langtranslit = array(
    		'а' => 'a', 'б' => 'b', 'в' => 'v',
    		'г' => 'g', 'д' => 'd', 'е' => 'e',
    		'ё' => 'e', 'ж' => 'zh', 'з' => 'z',
    		'и' => 'i', 'й' => 'y', 'к' => 'k',
    		'л' => 'l', 'м' => 'm', 'н' => 'n',
    		'о' => 'o', 'п' => 'p', 'р' => 'r',
    		'с' => 's', 'т' => 't', 'у' => 'u',
    		'ф' => 'f', 'х' => 'h', 'ц' => 'c',
    		'ч' => 'ch', 'ш' => 'sh', 'щ' => 'sch',
    		'ь' => '', 'ы' => 'y', 'ъ' => '',
    		'э' => 'e', 'ю' => 'yu', 'я' => 'ya',
    		"ї" => "yi", "є" => "ye",
    		
    		'А' => 'A', 'Б' => 'B', 'В' => 'V',
    		'Г' => 'G', 'Д' => 'D', 'Е' => 'E',
    		'Ё' => 'E', 'Ж' => 'Zh', 'З' => 'Z',
    		'И' => 'I', 'Й' => 'Y', 'К' => 'K',
    		'Л' => 'L', 'М' => 'M', 'Н' => 'N',
    		'О' => 'O', 'П' => 'P', 'Р' => 'R',
    		'С' => 'S', 'Т' => 'T', 'У' => 'U',
    		'Ф' => 'F', 'Х' => 'H', 'Ц' => 'C',
    		'Ч' => 'Ch', 'Ш' => 'Sh', 'Щ' => 'Sch',
    		'Ь' => '', 'Ы' => 'Y', 'Ъ' => '',
    		'Э' => 'E', 'Ю' => 'Yu', 'Я' => 'Ya',
    		"Ї" => "yi", "Є" => "ye",
    		);
    
    	
    	$var = trim( strip_tags( $var ) );
    	$var = preg_replace( "/\s+/ms", "-", $var );
    	$var = strtr($var, $langtranslit);
    	
    	$var = preg_replace( "/[^a-z0-9\_\-.]+/mi", "", $var );
    	$var = preg_replace( "/[^a-z0-9\_\-]+/mi", "", $var );
    	$var = preg_replace( '#[\-]+#i', '-', $var );
    	$var = str_ireplace( ".", "", $var ); 
    	$var = str_ireplace( ",", "", $var );
    	$var = str_ireplace( "---", "-", $var ); 
    	$var = str_ireplace( "--", "-", $var );
    
    	$var = strtolower( $var );
    
    	$var = str_ireplace( ".php", "", $var );
    	$var = str_ireplace( ".php", ".ppp", $var );
    	$var = str_ireplace( '"', """, $var ); 
    	
    	if( strlen( $var ) > 200 ) {
    		$var = substr( $var, 0, 200 );
    		if( ($temp_max = strrpos( $var, '-' )) ) {$var = substr( $var, 0, $temp_max );}
    	
    	}
    	$idd=$this->id;
    	$idq=$idd+136;
    
    ...............................................

    Что за...
    Вырвиглаз.

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

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

    • $var = str_ireplace( ".php", "", $var );
      $var = str_ireplace( ".php", ".ppp", $var );

      а вдруг не удалилось?!
      Ответить
      • еще выше $var = str_ireplace( ".", "", $var );
        Ответить
        • Непонятно как оно собирается удалять .php, если все точки уже вырезаны выше, но на то он и говнокод.
          Ответить
      • бгг))
        Ответить
      • $str = "file..phpphp"
        После первой замены останется "file.php". После второй - "file.ppp"
        Ответить
        • ну а логика
          Ответить
        • еще после
          $var = str_ireplace( ".", "", $var );
          останется filephpphp и никакого file.ppp в итоге не получится :(
          Ответить
        • Это я просто для иллюстрации, что иногда две одинаковые замены подряд всё-таки для чего-то нужны. А то первый комментарий "вдруг не удалилось" как бы намекает, что вторая замена бессмысленна и ничего не делает.

          В данном случае это, конечно, не нужно, да и вообще код весьма говнокоден.
          Ответить
          • две замены подряд не нужны вообще не когда если надо заменить одну подстроку во всей строке используется str_replace
            Ответить
      • 'index..phpphp', если мне маразм не изменил (на пхп кодила года два назад) потребует такого кода, но если пошли такие извраты то циклу надо.
        Ответить
    • показать все, что скрытоМне начинает нравится этот ваш 2007 ворд. Скажите, я говноед?
      Ответить
    • код писал бох регулярных выражений.
      Ответить
    • Строки 12-36 это рисунок - две большие буквы R.
      А потом грустнявый смайл.
      Ответить
    • кот нормален я сам пробывал епта фчира
      Ответить
    • это мой код!
      Ответить
    • показать все, что скрытоvanished
      Ответить

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