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

    +161

    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
    <?php
    
    header('content-type: application/x-javascript; charset=windows-1251');
    
    function utf8win1251($s){
      $out=""; $c1=""; $byte2=false;
      for ($c=0;$c<strlen($s);$c++){
        $i=ord($s[$c]); if ($i<=127) $out.=$s[$c];
        if ($byte2) { $new_c2=($c1&3)*64+($i&63); $new_c1=($c1>>2)&5;
          $new_i=$new_c1*256+$new_c2;
          if ($new_i==1025) $out_i=168; else
          if ($new_i==1105) $out_i=184; else $out_i=$new_i-848;
          $out.=chr($out_i); $byte2=false; }
        if (($i>>5)==6) {$c1=$i;$byte2=true; } }
     return $out; }
    
     
    $src = file_get_contents("http://letopisi.ru/index.php/%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%97%D0%BD%D0%B0%D0%B5%D1%82%D0%B5_%D0%BB%D0%B8_%D0%B2%D1%8B");
    
     $tmp = preg_replace('/.*<ul><li>(.*)<\/ul>.*<div class="printfooter">.*/s', '$1', $src);
     $tmp = trim(preg_replace('/href="/', 'href="http://letopisi.ru', $tmp));
     $matches = explode('</li>', $tmp);
    
     if (sizeof($matches) > 1) {
       $trans = Array("\x0D" => "", "\x0A" => " ");
       do { 
         $quote = trim($matches[rand(0, sizeof($matches)-2)]); 
       } while (empty($quote));
       $quote = str_replace('<li>', '', utf8win1251(strtr($quote, $trans)));
       $quote = preg_replace('/<div class="thumb.*<\/div>/', '', $quote);
       $quote = str_replace('"', '\"', $quote);
       print 'document.write("' . $quote . '");';
     }
    
     ?>

    Аа, блин, надо было сразу все кидать.
    Нужна возможность удалять свои коды в течение 10 минут.

    Запостил: 7ion, 25 Августа 2011

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

    • >Нужно заметить, что про описанную особенность работы регулярных выражений почему-то забывают даже авторы серьезных и подробных книг по PHP.

      Также нужно отметить, что любая книга про PHP должна иметь на обложке предупреждение от минздрава и инвайт на Говнокод.
      Ответить
      • Книги по PHP должны учить PHP, а не regex. О регулярных выражениях нужно просто упомянуть и разобрать пару ситуаций.
        Ответить
    • Это ж где такой кладезь качественного кала нашёлся?
      Ответить
      • http://letopisi.ru/index.php/Знаете-ли-что%3F_скрипт же
        Ответить
    • ; charset=windows-1251
      utf8win1251($s)

      Вот нахуя?

      (да и application/javascript уже лет десять как не x-)
      Ответить
    • >utf8win1251($s)
      iconv для лохов?
      Ответить
    • - Но это некрасиво - следить за человеком, - выдала наша совесть Инга.
      Ответить

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