1. Java / Говнокод #8414

    +75

    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
    // Gets the starting position for the endtag of the first element in text.
        private int getEndTagPosition(String element, String text) {
            String startTag = "<" + element;
            String endTag = "</" + element;
            int nestingLevel = 1;
            int end = 0;
            int startPos = 1;
    
            while (nestingLevel > 0) { // loop until matching endtag is found
                int start = text.indexOf(startTag, startPos);
                end = text.indexOf(endTag, startPos);
    
                if ((start == -1) || (start > end)) {   // next tag is an endtag
                    nestingLevel--;
                    startPos = end + 1;
                } else {    // next tag is a starttag
                    nestingLevel++;
                    startPos = start + 1;
                }
            }
    
            return end;
        }

    Запостил: euee, 03 Ноября 2011

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

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