"autoHeaderIds": blackfriday.EXTENSION_AUTO_HEADER_IDS,
}
+var stripHTMLReplacer = strings.NewReplacer("\n", " ", "</p>", "\n", "<br>", "\n", "<br />", "\n")
+
// StripHTML accepts a string, strips out all HTML tags and returns it.
func StripHTML(s string) string {
- output := ""
// Shortcut strings with no tags in them
if !strings.ContainsAny(s, "<>") {
- output = s
+ return s
} else {
- s = strings.Replace(s, "\n", " ", -1)
- s = strings.Replace(s, "</p>", "\n", -1)
- s = strings.Replace(s, "<br>", "\n", -1)
- s = strings.Replace(s, "<br />", "\n", -1) // <br /> is the xhtml line break tag
+ s = stripHTMLReplacer.Replace(s)
// Walk through the string removing all tags
b := new(bytes.Buffer)
}
}
}
- output = b.String()
+ return b.String()
}
- return output
}
// StripEmptyNav strips out empty <nav> tags from content.
{"<h1>strip h1 tag <h1>", "strip h1 tag "},
{"<p> strip p tag </p>", " strip p tag \n"},
{"</br> strip br<br>", " strip br\n"},
+ {"</br> strip br2<br />", " strip br2\n"},
+ {"This <strong>is</strong> a\nnewline", "This is a newline"},
}
for i, d := range data {
output := StripHTML(d.input)