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

    +46

    1. 1
    2. 2
    3. 3
    <?php 
    echo implode(", ", array_map(create_function('$tag', 'return \'<a href="?tag=\' . hs($tag) . \'">\' . hs($tag) . \'</a>\';'), $post['tags'])); 
    ?>

    Нашел в дебрях своей древней CMS. Как говорится, экономика должна быть экономичной, а конь коническим.

    Запостил: TBoolean, 19 Августа 2012

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

    • Я тут намедни вот такой велик сочинил
      use Html\Dsl as H;
      print H::table(
          H::tbody(
              H::tr(
                  H::td("1"), H::td("2"), H::td("3")
              ),
              H::tr(
                  H::td("4"), H::td("5"), H::td("6")
              ),
              H::tr(
                  H::td("7"), H::td("8"), H::td("9")
              )
          )->id("table body")
      )->class("test me");
      Разумеется, у класса Dsl нет методов tbody и tr, и теги можно использовать любые (поэтому минус валидация html).
      Похоже , у меня Композит головного мозга.
      Ответить
      • > поэтому минус валидация html
        А всякие & < > экранируются автоматом?
        Ответить
        • Я думаю, под валидацией подразумевалась не правильность как SGLM (XML), а именно правила вложения тегов и использования аттрибутов.
          Ответить
          • Ну для генератора настолько серьезная валидация, имхо, врядли нужна. В конце-концов можно выхлоп прогнать через W3C валидатор, и поправить если что-то не так.

            А тут хотя бы XML/SGML корректный вываливает, и то хорошо по сравнению с тупо выводом через строки.
            Ответить
        • да, экранируются. В частности, ради этого велик и затеял (лень было расставлять закрывающиеся теги и экранирование). Вся реализация скромного dsl уложилась в 60 строк.
          Ответить

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