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(
"&", "&",