1. C# / Говнокод #18903

    +6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    tempPages.Add(page, tempValue);
    rempPages = tempPages;
    if (totalPages != 0)
    {
    	rotalPages = totalPages;
    }
    currentCountItem += tempLength;

    Шашлык-рашлык.

    Запостил: yamamoto, 23 Октября 2015

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

    • Шашлык-машлык, да?
      Ответить
    • rage = page;
      Ответить
      • P.S. Смотрите, что нашёл:
        http://wikirhymer.com/words/page

        Можно генератор рэпа писа́ть.
        Ответить
        • Ага, наверняка на говнокод.ру и годный html парсер найдется
          Ответить
          • Написал: http://ideone.com/OFxXB3

            <?php
            
            $XMLRE = '#(?:<([A-Za-z][A-Za-z0-9]*)(?:\s*[A-Za-z][A-Za-z0-9]*="[^"]*")*(?:\s*\/>|>(?:(?R)|)<\/\1>)|[^<]+)*#';
            $tagRE = '#<([A-Za-z][A-Za-z0-9]*)((?:\s*[A-Za-z][A-Za-z0-9]*="[^"]*")*)(?:\s*\/>|>((?R)*)<\/\1>)|([^<]+)#';
            $attributeRE = '#([a-z]+?)="([^"]*)"#';
            
            function parse_attributes($attributes) {
              global $attributeRE;
              $attrs = array();
              
              preg_match_all($attributeRE, $attributes, $matches, PREG_SET_ORDER);
              
              foreach ($matches as $m) {
                $name = $m[1];
                $value = $m[2];
                $attrs[$name] = $value;
              }
              
              return $attrs;
            }
            
            function parse_xml($xml) {
              global $XMLRE, $tagRE, $attributeRE;
              
              if(!preg_match ($XMLRE, $xml)) return null;
              
              preg_match_all($tagRE, $xml, $matches, PREG_SET_ORDER);
              
              $nodes = array();
              
              foreach ($matches as $m) {
                $name = $m[1];
                $attrs = $m[2];
                $innerHTML = $m[3];
                $text = $m[4];
                
                if($text) {
                  $nodes[] = array(
                    'type' => 'text',
                    'text' => $text
                  );
                } else {
                  $nodes[] = array(
                    'type' => 'node',
                    'name' => $name,
                    'attrs' => parse_attributes($attrs),
                    'children' => parse_xml($innerHTML)
                  );
                }
              }
              
              return $nodes;
            }
            
            $xml = <<<XML
              <html>
                <head>
                  <title>Hello, world!</title>
                </head>
                <body>
                  <h1>My page</h1>
                  <a href="http://example.test">example</a>
                  <img src="http://example.test/test.png" alt="sosnoole vse!" />
                </body>
              </html>
            XML;
            
            print(json_encode(parse_xml($xml), JSON_PRETTY_PRINT));
              
            ?>
            Ответить
            • P.S. Исправил регулярочку для правильной валидации:
              $XMLRE = '#^((?:<([A-Za-z][A-Za-z0-9]*)(?:\s*[A-Za-z][A-Za-z0-9]*="[^"]*")*(?:\s*\/>|>(?:(?1)|)<\/\2>)|[^<]+)*)$#';

              http://ideone.com/wwm8hX

              P.P.S. В общем-то, если AST не надо, можно для валидации просто использовать (!!preg_match ($XMLRE, <выражение>)).
              Ответить
        • >а́
          Я, вроде, не Борманд, но тоже подумал о том же самом :(
          Ответить

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