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

    +144

    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
    <?php
    date_default_timezone_set('Europe/Kiev');
    header('Content-Type: text/html; charset=utf-8');
    /*Создаем класс объектной модели документа, что-то типа как в JS. */
    $dom = new domDocument;
    
    /*Загружаем наш ХТМЛ файл*/
    $dom->loadHTMLfile('page.html');
    
    /*Ищем всем елементы с тегом таблицы, в даном случае, он у нас один*/
    $table =  $dom->getElementsByTagName('table');
    
    /*Ищем все теги рядов внутри найденной таблицы, item(0) указывает на то, что нужнр брать только первую найденную таблицу. Ещё раз, таблица у нас одна!!!!!!!*/
    $rows = $table->item(0)->getElementsByTagName('tr');
    
    for($i=1;$i<=115;$i++){
        /*Циклом заносим в переменную $cols все данные колонок td для каждого ряда tr внутри таблицы */
        $cols = $rows->item($i)->getElementsByTagName('td');
        /*Выводим в браузер только первую колонку ряда TR, и это у нас имя, если поставить вместо ноля единицу, то выведет Фамилию, если 2-ку поставить, выведет возраст, тут думаю все понятно.*/
        echo $cols->item(3)->nodeValue." ";
    }
    
    
    /*ДОМАШНЕЕ ЗАДАНИЕ: поэксперементируйте!!! помогоает в обучении!!!*/
    
    /*УДАЧИ!!!!!!!*//*УДАЧИ!!!!!!!*//*УДАЧИ!!!!!!!*//*УДАЧИ!!!!!!!*/
    
    ?>

    Запостил: dimiork, 19 Августа 2010

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

    • Дорогого постера прошу прокомментировать этот код ответив на следующие вопросы: откуда взялся этот код? кто автор? что именно не понравилось здесь?
      Ответить
      • тащемто это очень говеный код, это же видно.
        и 115 и перемешка логики и вью и хардкод
        Ответить
      • [11:05:42] dimiork: доброе! :)
        есть echo $cols->item(3)->nodeValue." "; оно выводит содержимое 115 строк 3 колоннки таблицы отпарсенной из html, выводит просто в линию. чего бы дописать чтобы оно каждый с новой строки начинало печатать ? Собственно сам парсер вот: http://govnokod.ru/4030

        Это из конфы [email protected] )
        Ответить
        • опять нас как пастебин используют?
          Ответить
          • показать все, что скрытода. а хуле?
            Ответить
            • показать все, что скрытоправил тут как-бэ нет. сюда ведет ссыль кой-откуда для заливания длинного кода. так что.. если пастебин н говнокоде моветон, уведлмьте пожалуйста, не Вам досаждать :)
              Ответить
              • Откуда? Возможно, там govnokod.com?
                Ответить
              • > правил тут как-бэ нет
                Это подход из разряда "что не запрещено, то разрешено". В шапке сайта написано его назначение. Далее следует использовать артефакт "головной мозг", чтобы понять, что сюда следует заливать, а что нет.
                > сюда ведет ссыль кой-откуда для заливания длинного кода
                У создавшего эту ссыль артефакта был явный дефицит.
                Ответить
              • уж поверьте мне, если бы pastebin.com и др. подобные скрипты позволяли комментировать код без создания новой версии, вам бы это ОЧЕНЬ не понравилось

                ЗЫЖ а ведь троллинг с использованием pastebin - неплохая идея, надо попробовать...
                Ответить
          • а может сделать:
            если Referrer: habrahabr.ru¹,
            то и Location: одно из зеркал Last Measure :-D

            1. получено в результате гугления и бихевиоральных исследований колонии хомячков.
            Ответить
    • Не ну разве что цикл for, который ровно 115 итераций хреначит, могли бы сделать count($rows)
      Ответить
      • показать все, что скрытов первоначальном коде было for($i=1;$i<=3;$i++){
        /*Циклом заносим в переменную $cols все данные колонок td для каждого ряда tr внутри таблицы */

        а так как я не знаю php иничего другого тоже не знаю, то я использую грабли для выкапывания картошки, поэтому меня можно понять, я думаю
        Ответить
    • меня это вот удивило date_default_timezone_set('Europe/Kiev'); на кой дефаулт трогать
      Ответить
      • про E_STRICT слышал?
        а, ну да, у тебя ж вот так error_reporting = E_ALL
        или может быть вот так error_reporting = E_ALL & ~E_NOTICE?

        истинные арийцы за чистоту кода конфигурят так:
        error_reporting = E_ALL | E_STRICT
        Ответить
      • а что здесь не так? каков аналог?
        Ответить
        • в php.ini прописать и больше не двигать сервер
          Ответить
          • доступа к php.ini может не быть, как минимум
            Ответить
            • ну вот же http://www.php.net/manual/en/configuration.changes.modes.php

              CGI из директории скрипта прочитает, модуль из .htaccess
              Ответить
    • обыкновенный обучающий код для школоты
      Ответить
    • Автор какбэ говорит нам:
      DOM для слабаков! Настоящие чоткие индийские парни используют регулярки! Йо! Да1
      Ответить

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