code: def _tag_extent(self, data, start):
          
          in_quote = False
          quotable = False
          lto = len(self.tag_opener)
          ltc = len(self.tag_closer)
          for i in xrange(start + 1, len(data)):
              ch = data[i]
              if ch == '=':
                  quotable = True
              if ch in ('"', "'"):
                  if quotable and not in_quote:
                      in_quote = ch
                  elif in_quote == ch:
                      in_quote = False
                      quotable = False
              if not in_quote and data[i:i + lto] == self.tag_opener:
                  return i, False
              if not in_quote and data[i:i + ltc] == self.tag_closer:
                  return i + ltc, True
          return len(data), False
docs: Finds the extent of a tag, accounting for option quoting and new tags starting before the current one closes.
          Returns (found_close, end_pos) where valid is False if another tag started before this one closed.