diff options
author | Silvan Jegen <s.jegen@gmail.com> | 2015-06-05 19:35:38 +0200 |
---|---|---|
committer | Silvan Jegen <s.jegen@gmail.com> | 2015-06-05 19:35:38 +0200 |
commit | 6c5a12885f101882148d91effa9a290dfe15d639 (patch) | |
tree | 5ecc9d27a4b65f9073e8ace448a0251c0479f31f /unxml.go | |
parent | 6a1cb2df856bdaa67f6a41c0e58bfceb068efbf1 (diff) |
Add the NewReaderKeepElements function
Diffstat (limited to 'unxml.go')
-rw-r--r-- | unxml.go | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -51,6 +51,26 @@ func NewReaderKeepTags(r io.Reader, tagstokeep []string) *Reader { } } +func NewReaderKeepElements(r io.Reader, tagstokeep []string) *ElementReader { + var tagmap map[string]bool + + if len(tagstokeep) > 0 { + tagmap = make(map[string]bool, 10) + for _, tag := range tagstokeep { + tagmap[tag] = true + } + } else { + tagmap = nil + } + + return &ElementReader{ + xr: Reader{ + tagmap: tagmap, + tokenizer: html.NewTokenizer(r), + }, + } +} + func (r *Reader) Read(out []byte) (int, error) { var err error |