|
@@ -1,8 +1,11 @@
|
|
|
package util
|
|
|
|
|
|
import (
|
|
|
+ "github.com/PuerkitoBio/goquery"
|
|
|
+ "log"
|
|
|
"regexp"
|
|
|
"strings"
|
|
|
+ "unicode/utf8"
|
|
|
)
|
|
|
|
|
|
//
|
|
@@ -60,6 +63,24 @@ func (c *Cut) ClearHtml(src string) string {
|
|
|
//清理input
|
|
|
src = c.hiddentag.ReplaceAllString(src, "")
|
|
|
src = c.inputag.ReplaceAllString(src, "$2")
|
|
|
+ document, err := goquery.NewDocumentFromReader(strings.NewReader(src))
|
|
|
+ if err == nil {
|
|
|
+ if tmpstr,err := document.Each(func(i int, sel *goquery.Selection) {
|
|
|
+ sel.Find("td").Each(func(i int, selection *goquery.Selection) {
|
|
|
+ val, b := selection.Attr("title")
|
|
|
+ if b && strings.Trim(val, " ") != "" {
|
|
|
+ tmpstr := strings.TrimFunc(selection.Text(), func(r rune) bool {
|
|
|
+ return r == 9|| r == 32
|
|
|
+ })
|
|
|
+ if utf8.RuneCountInString(strings.Trim(tmpstr, " ")) < utf8.RuneCountInString(strings.Trim(val, " ")) {
|
|
|
+ selection.SetText(strings.Trim(val, " "))
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }).Html();err == nil{
|
|
|
+ src = tmpstr
|
|
|
+ }
|
|
|
+ }
|
|
|
//换结束标签
|
|
|
src = c.tag.ReplaceAllStringFunc(src, func(tmp string) string {
|
|
|
tmp = strings.Replace(tmp, " ", "", -1)
|