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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    var begin_h = html.indexOf("<h1 class=\"header\">");
    var end_h = html.indexOf("</h1>");
    var data = "";
    if (begin_h != -1 && end_h != -1) {
      data = html.substr(begin_h, end_h + 5); //5 - это длина тега </h1>, чтобы его тоже захватило
    }

    Прелесть, найденная на гугл-ответах. Человек пишет расширение для Firefox.

    Запостил: Vindicar, 29 Марта 2011

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

    • Регулярные выражения не нужны. [/sarcasm]
      Алсо, если это вызывается в цикле около 1000 раз, то таки имеет смысл написать именно так.
      Ответить
      • Ваш сарказм слишком тонок для меня. =)
        Ответить
      • Именно так смысла писать точно нет, потому, что нет гарантии, что мы находим закрывающий тег данного открывающего тега. Более того, если вы сможете написать регулярное выражение, которое всегда находит то, что автор искал, то вы будете первым JavaScript-программистом, который сумел написать рекурсивное регулярное выражение, либо бесконечный цикл внутри регулярного выражения :)
        Ответить
    • жеквери селекторы для чайников. Тру кодеры парсают хтмл
      Ответить
    • расширение + фимоз = сужение
      Ответить
    • Там кажеться человека реально прихватило
      Ответить

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