1. JavaScript / Говнокод #3618

    +162

    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
    var titleAlt = String(dbField("title").value);
    if (titleAlt.toLowerCase().indexOf("<b>") != -1) { titleAlt = titleAlt.replace(/<b>/gi, "").replace(/<\/b>/gi, ""); }
    if (titleAlt.toLowerCase().indexOf("<i>") != -1) { titleAlt = titleAlt.replace(/<i>/gi, "").replace(/<\/i>/gi, ""); }
    if (titleAlt.toLowerCase().indexOf("<small>") != -1) { titleAlt = titleAlt.replace(/<small>/gi, "").replace(/<\/small>/gi, ""); }
    if (titleAlt.toLowerCase().indexOf("<br>") != -1) { titleAlt = titleAlt.replace(/<br>/gi, ""); }
    if (titleAlt.toLowerCase().indexOf("<p>") != -1) { titleAlt = titleAlt.replace(/<p>/gi, "").replace(/<\/p>/gi, ""); }
    f = 0;
    while (f != -1) {
        f = titleAlt.indexOf("<img ");
        if (f == -1) { f = titleAlt.indexOf("< img "); }
        if (f == -1) { f = titleAlt.indexOf("<  img "); }
        if (f == -1) { f = titleAlt.indexOf("<IMG "); }
        if (f == -1) { f = titleAlt.indexOf("< IMG "); }
        if (f == -1) { f = titleAlt.indexOf("<  IMG "); }
        if (f != -1) {
            t = -1;
            for (i = f; i < titleAlt.length; i++) {
                if (titleAlt.substr(i, 1) == ">") { t = i; i = titleAlt.length; }
            }
            if (t != -1) {
                ttl = titleAlt;
                titleAlt = ttl.substring(0, f) + ttl.substring(t + 1, titleAlt.length);
            }
        }
    }

    это не что иное, как попытка очистить строку от html
    код как бы говорит нам - "регулярные выражения - зло!"
    цикл while - это просто шедевр зодчества эпохи просвещения. он ищет тег img и закрывающую скобку, и если они есть - присваивает результату подстроку от начала строки до первого вхождения img и от последнего вхождения угловой скобки

    найдено в серверном JavaScripte на одном из зарубежных сайтов

    Запостил: mozg_raka, 01 Июля 2010

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

    • предположение кейса и пробела между уголком и именем тега - это пять...
      между прочим <IMg прокатит
      Ответить
    • А что там в строках 02-06, жутко похожее на регулярки?
      И что будет, если между уголком и IMG три пробела?
      Ответить
      • это и есть замена по регулярке. открывающий на закрывающий
        а бровсер поймет эти пробелы?
        Ответить
        • Даже один пробел не понимает. Крутой алгоритм. От нас что-то скрывают.
          Ответить
          • и мне непонятно почему не f = titleAlt.toLowerCase().indexOf("<img ") как выше
            Ответить
    • Я бы улучшил:
      if (f == -1) { f = titleAlt.indexOf("< IMG "); }
      if (f == -1) { f = titleAlt.indexOf("<  IMG "); }
      if (f == -1) { f = titleAlt.indexOf("<   IMG "); }
      if (f == -1) { f = titleAlt.indexOf("<    IMG "); }
      if (f == -1) { f = titleAlt.indexOf("<     IMG "); }
      if (f == -1) { f = titleAlt.indexOf("<      IMG "); }
      if (f == -1) { f = titleAlt.indexOf("<       IMG "); }
      if (f == -1) { f = titleAlt.indexOf("<        IMG "); }
      Ответить
      • боян, такое уже было :))
        Ответить
        • все когда то уже было, и это очевидно
          Ответить
          • Напомнило ранее встречавшийся дем: «Та ты что!? А не пиздишь?»
            Ответить
            • думаю пора начать новую манеру - фотоответов в стиле "фигвам" )
              Ответить
              • Ага, попросим у Страйкера аплоад пикч и сажу. И будет у нас неймфажный имиджборд "Говнокодч".
                Ответить
                • и анонов обратно разрешим, начнётся тут трололо )
                  Ответить
                  • Говнокод для анонов есть: http://govnokod.com/
                    Только почему-то комментариев я там не вижу.
                    Ответить
                    • FFFFFFFFFUUUUUUUUUUUU-
                      ацтой какой-то ) там даже аноны комментить не хотят )
                      Ответить
                      • да нет, есть там и наши: http://govnokod.com/2852
                        Ответить
                        • Вот это внимательность! Я этого комментария не заметил. Есть гипотезы, кто его мог наложить?
                          Ответить
                    • Хех, эти долбоёбы используют govnokod.com в качестве pastebin`а
                      Пруф: irc://irc.san.ru/php
                      Ответить
                • не надо аплоуд пикч, вполне какой нить радикал.ру сойдет = )
                  Ответить
                  • и прийдёт какой-то хуй анонимус и запостит тут картинку кота которая растягивается на 100 км. :\
                    Ответить
                    • Большинство PHP прогеров считают, что пускай постит, а админ забанит.
                      Ответить
                      • в связи с новым законом о СМИ в интернете, комментарии гк.ру сделать премодерируемыми, гы )
                        Ответить
                        • Сколько ж тогда модераторов потребуется?
                          Ответить
                          • На каждого анона 2-3 :))
                            Ответить
                            • Тогда каждого зарегистрированного нужно принудительно избрать в модераторы, чтобы мы модерировали реплики друг друга.
                              Тогда сама Очевидность будет замодерирована и модерировать одновременно!
                              Ответить
                          • если модер один, то кол-во комментов заметно сократится, зато будут 10 раз думать, прежде чем запостить )
                            Ответить

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