mirror of
https://gitee.com/johng/gf.git
synced 2024-11-30 11:18:02 +08:00
59 lines
1.5 KiB
Go
59 lines
1.5 KiB
Go
// Copyright 2017 gf Author(https://github.com/gogf/gf). All Rights Reserved.
|
||
//
|
||
// This Source Code Form is subject to the terms of the MIT License.
|
||
// If a copy of the MIT was not distributed with this file,
|
||
// You can obtain one at https://github.com/gogf/gf.
|
||
|
||
// Package ghtml provides useful API for HTML content handling.
|
||
package ghtml
|
||
|
||
import (
|
||
"html"
|
||
"strings"
|
||
|
||
strip "github.com/grokify/html-strip-tags-go"
|
||
)
|
||
|
||
// 过滤掉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(
|
||
"&", "&",
|
||
"<", "<",
|
||
">", ">",
|
||
`"`, """,
|
||
"'", "'",
|
||
).Replace(s)
|
||
}
|
||
|
||
// 将html部分转义标签还原为html特殊标签
|
||
// 参考:http://php.net/manual/zh/function.htmlspecialchars-decode.php
|
||
func SpecialCharsDecode(s string) string {
|
||
return strings.NewReplacer(
|
||
"&", "&",
|
||
"<", "<",
|
||
">", ">",
|
||
""", `"`,
|
||
"'", "'",
|
||
).Replace(s)
|
||
}
|