diff --git a/g/encoding/ghtml/ghtml.go b/g/encoding/ghtml/ghtml.go index ded3f14c8..bbf6718db 100644 --- a/g/encoding/ghtml/ghtml.go +++ b/g/encoding/ghtml/ghtml.go @@ -7,9 +7,33 @@ // HTML编码 package ghtml -import "strings" +import ( + "strings" + "html" + "github.com/grokify/html-strip-tags-go" +) -// 将html中的特殊标签转换为html转义标签 +// 过滤掉HTML标签,只返回text内容 +// 参考:http://php.net/manual/zh/function.strip-tags.php +func StripTags(s string) string { + return strip.StripTags(s) +} + +// 本函数各方面都和SpecialChars一样, +// 除了Entities会转换所有具有 HTML 实体的字符。 +// 参考:http://php.net/manual/zh/function.htmlentities.php +func Entities(s string) string { + return html.EscapeString(s) +} + +// Entities 的相反操作 +// 参考:http://php.net/manual/zh/function.html-entity-decode.php +func EntitiesDecode(s string) string { + return html.UnescapeString(s) +} + +// 将html中的部分特殊标签转换为html转义标签 +// 参考:http://php.net/manual/zh/function.htmlspecialchars.php func SpecialChars(s string) string { return strings.NewReplacer( "&", "&", @@ -20,7 +44,8 @@ func SpecialChars(s string) string { ).Replace(s) } -// 将html转义标签还原为html特殊标签 +// 将html部分转义标签还原为html特殊标签 +// 参考:http://php.net/manual/zh/function.htmlspecialchars-decode.php func SpecialCharsDecode(s string) string { return strings.NewReplacer( "&", "&",