code: def filter_with_english_letters(buf):
          
          filtered = bytearray()
          in_tag = False
          prev = 0
  
          for curr in range(len(buf)):
              # Slice here to get bytes instead of an int with Python 3
              buf_char = buf[curr:curr + 1]
              # Check if we're coming out of or entering an HTML tag
              if buf_char == b'>':
                  in_tag = False
              elif buf_char == b'<':
                  in_tag = True
  
              # If current character is not extended-ASCII and not alphabetic...
              if buf_char < b'\x80' and not buf_char.isalpha():
                  # ...and we're not in a tag
                  if curr > prev and not in_tag:
                      # Keep everything after last non-extended-ASCII,
                      # non-alphabetic character
                      filtered.extend(buf[prev:curr])
                      # Output a space to delimit stretch we kept
                      filtered.extend(b' ')
                  prev = curr + 1
  
          # If we're not in a tag...
          if not in_tag:
              # Keep everything after last non-extended-ASCII, non-alphabetic
              # character
              filtered.extend(buf[prev:])
  
          return filtered
docs: Returns a copy of ``buf`` that retains only the sequences of English
          alphabet and high byte characters that are not between <> characters.
          Also retains English alphabet and high byte characters immediately
          before occurrences of >.
  
          This filter can be applied to all scripts which contain both English
          characters and extended ASCII characters, but is currently only used by
          ``Latin1Prober``.